diff --git a/.gitignore b/.gitignore
index babef26..fcfc9f2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,17 @@
+# SPDX-FileCopyrightText: (C) Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
advent
+*.gcda
+*.gcno
*.o
-adventure.data
+*.html
+dungeon.h
+dungeon.c
+advent.6
+*.tar.gz
+MANIFEST
+*.adv
+.*~
+cheat
+advent.info
+coverage/*
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..b8f4b91
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,104 @@
+# SPDX-FileCopyrightText: (C) Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+stages:
+ - ci-build
+ - build
+ - test
+ - deploy
+
+default:
+ image: $CI_REGISTRY_IMAGE:ci
+
+# build and push Docker image to be used in subsequent steps
+ci-build:
+ stage: ci-build
+ image:
+ name: gcr.io/kaniko-project/executor:debug
+ entrypoint: [""]
+ script:
+ - mkdir -p /kaniko/.docker
+ - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
+ - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile.ci --destination $CI_REGISTRY_IMAGE:ci --cache=true
+
+# build advent itself
+binary:debug:
+ stage: build
+ script:
+ - make debug
+ artifacts:
+ paths:
+ - advent
+ - cheat
+ - "*.o"
+ - dungeon.c
+ - dungeon.h
+
+binary:release:
+ stage: build
+ script:
+ - make advent cheat
+ artifacts:
+ paths:
+ - advent
+ - cheat
+ - "*.o"
+ - dungeon.c
+ - dungeon.h
+
+manpage:
+ stage: build
+ script:
+ - make advent.6
+ artifacts:
+ paths:
+ - advent.6
+
+html:
+ stage: build
+ script:
+ - make html
+ artifacts:
+ paths:
+ - "*.html"
+
+dist:
+ stage: build
+ script:
+ - export VERS=${CI_COMMIT_REF_NAME}
+ - make dist -e
+ artifacts:
+ paths:
+ - "*.tar.gz"
+
+# run tests using the binary built before
+test:debug:
+ stage: test
+ script:
+ - make coverage
+ artifacts:
+ paths:
+ - coverage
+ dependencies:
+ - binary:debug
+
+test:release:
+ stage: test
+ script:
+ - cd tests
+ - make
+ - cd ..
+ dependencies:
+ - binary:release
+
+pages:
+ stage: deploy
+ script:
+ - mkdir public
+ - mv coverage public
+ artifacts:
+ paths:
+ - public
+ only:
+ - master
+ dependencies:
+ - test:debug
diff --git a/.shipper b/.shipper
new file mode 100644
index 0000000..5e5904c
--- /dev/null
+++ b/.shipper
@@ -0,0 +1,5 @@
+#SPDX-FileCopyrightText: (C) Eric S. Raymond
+#SPDX-License-Identifier: BSD-2-Clause
+extralines="""
+
There is a code coverage analysis and a symbol coverage analysis
+"""
diff --git a/COPYING b/COPYING
index 1c5f1a4..b1de571 100644
--- a/COPYING
+++ b/COPYING
@@ -1,7 +1,4 @@
- BSD LICENSE
-
-Copyright (c) 1977, 2005 by Will Crowther and Don Woods
-Copytright (c) 2017 by Eric S. Raymond
+ BSD 2-Clause LICENSE
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
diff --git a/Dockerfile.ci b/Dockerfile.ci
new file mode 100644
index 0000000..b8eeef5
--- /dev/null
+++ b/Dockerfile.ci
@@ -0,0 +1,12 @@
+# This image is built by the Gitlab CI pipeline to be used in subsequent
+# pipeline steps.
+# SPDX-FileCopyrightText: (C) Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+
+FROM ubuntu
+
+ # tell apt not to ask for any user input
+ENV DEBIAN_FRONTEND=noninteractive
+
+RUN apt-get update
+RUN apt-get install --yes --no-install-recommends make gcc libedit-dev libasan6 libubsan1 python3 python3-yaml lcov asciidoctor libxslt1.1 pkg-config docbook-xml xsltproc
diff --git a/INSTALL.adoc b/INSTALL.adoc
new file mode 100644
index 0000000..fb93b7d
--- /dev/null
+++ b/INSTALL.adoc
@@ -0,0 +1,27 @@
+= Installing Open Adventure =
+// SPDX-FileCopyrightText: (C) Eric S. Raymond
+// SPDX-License-Identifier: CC-BY-4.0
+
+Installation now requires Python3 due to a security issue
+with the YAML library.
+
+1. Install libedit from http://thrysoee.dk/editline/ (aka: editline)
+on your system.
++
+On Debian and Ubuntu: `apt-get install libedit-dev`.
++
+On Fedora: `dnf install libedit-devel`.
++
+You can also use pip to install PyYAML: `pip3 install PyYAML`.
+
+2. Change to the top-level directory of the source code (e.g., `cd open-adventure`).
+
+3. Build with `make`.
+
+4. Optionally run a regression test on the code with `make check`.
+
+5. Run `./advent` to play.
+
+6. If you want to buld the documentation you will need asciidoctor.
+
+7. Running the regression tests requires batchspell
diff --git a/Makefile b/Makefile
index 68ffd5b..e4e31cb 100644
--- a/Makefile
+++ b/Makefile
@@ -1,43 +1,161 @@
# Makefile for the open-source release of adventure 2.5
-OBJS=main.o init.o actions1.o actions2.o score.o misc.o
-SOURCES=$(OBJS:.o=.c) COPYING NEWS README TODO advent.text control
+# SPDX-FileCopyrightText: (C) Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+
+# To build with save/resume disabled, pass CFLAGS="-DADVENT_NOSAVE"
+# To build with auto-save/resume enabled, pass CFLAGS="-DADVENT_AUTOSAVE"
+
+VERS=$(shell sed -n MANIFEST
+ @(ln -s . advent-$(VERS))
+ (tar -T MANIFEST -czvf advent-$(VERS).tar.gz)
+ @(rm advent-$(VERS))
+
+release: advent-$(VERS).tar.gz advent.html history.html hints.html notes.html
+ shipper version=$(VERS) | sh -e -x
+
+refresh: advent.html notes.html history.html
+ shipper -N -w version=$(VERS) | sh -e -x
dist: advent-$(VERS).tar.gz
-release: advent-$(VERS).tar.gz advent.html
- shipper version=$(VERS) | sh -e -x
+linty: CCFLAGS += -W
+linty: CCFLAGS += -Wall
+linty: CCFLAGS += -Wextra
+linty: CCGLAGS += -Wpedantic
+linty: CCFLAGS += -Wundef
+linty: CCFLAGS += -Wstrict-prototypes
+linty: CCFLAGS += -Wmissing-prototypes
+linty: CCFLAGS += -Wmissing-declarations
+linty: CCFLAGS += -Wshadow
+linty: CCFLAGS += -Wnull-dereference
+linty: CCFLAGS += -Wjump-misses-init
+linty: CCFLAGS += -Wfloat-equal
+linty: CCFLAGS += -Wcast-align
+linty: CCFLAGS += -Wwrite-strings
+linty: CCFLAGS += -Waggregate-return
+linty: CCFLAGS += -Wcast-qual
+linty: CCFLAGS += -Wswitch-enum
+linty: CCFLAGS += -Wwrite-strings
+linty: CCFLAGS += -Wunreachable-code
+linty: CCFLAGS += -Winit-self
+linty: CCFLAGS += -Wpointer-arith
+linty: advent cheat
+
+# These seem to be more modern options for enabling coverage testing.
+# Documenting them here in case a future version bump disables --coverage.
+#debug: CCFLAGS += -ftest-coverage
+#debug: CCFLAGS += -fprofile-arcs
+
+debug: CCFLAGS += -O0
+debug: CCFLAGS += --coverage
+debug: CCFLAGS += -ggdb
+debug: CCFLAGS += -U_FORTIFY_SOURCE
+debug: CCFLAGS += -fsanitize=address
+debug: CCFLAGS += -fsanitize=undefined
+debug: linty
-refresh: advent.html
- shipper -N -w version=$(VERS) | sh -e -x
diff --git a/NEWS b/NEWS
deleted file mode 100644
index f1503ba..0000000
--- a/NEWS
+++ /dev/null
@@ -1,7 +0,0 @@
-= OpenAdventure project news =
-
-Repository head::
- Forward port of Crowther & Woods's 430-point Adventure 2.5.
- Added -l option for logging.
- Added command prompt; -o suppresses this.
-
diff --git a/NEWS.adoc b/NEWS.adoc
new file mode 100644
index 0000000..0140574
--- /dev/null
+++ b/NEWS.adoc
@@ -0,0 +1,90 @@
+= Open Adventure project news =
+// SPDX-FileCopyrightText: (C) Eric S. Raymond
+// SPDX-License-Identifier: CC-BY-4.0
+
+1.20: 2024-09-23::
+ Make oldstyle correctly suppress line editing.
+
+1.19: 2024-06-27::
+ Ensore that the KNIVES_VANISH message can't issue twice.
+
+1.18: 2024-02-15::
+ Bring the manual page fully up to date.
+
+1.17: 2024-01-02::
+ Saying Z'ZZZ at reservoir no longer causes the waters to part and crash.
+
+1.16: 2023-04-15::
+ Savefiles now have an identifying magic cookie at the front.
+ Resume detects if a save has incompatible endianness.
+
+1.15: 2023-04-03::
+ Commands in magic-word sequence now interrupt it, as in original.
+ Bug fix for bird not starting caged in endgame.
+
+1.14: 2023-03-09::
+ Added -a option for BBS door systems.
+ -o reverts to the old message on some failed magic words.
+ Typo fixes and documentation polishing.
+
+1.13: 2023-02-28::
+ Fixed slightly buggy emission of end-of-game messages on a win.
+
+1.12: 2023-02-06::
+ The bug and todo list has been cleared; project declared finished.
+ Correctness has been systematically tested against the 1995 code.
+ Typo fixes and documentation polishing.
+
+1.11: 2022-04-14::
+ Restore 100% test coverage.
+ Use TAP reporting for tests.
+
+1.10: 2022-04-06::
+ Fixed a bug that manifested after two "fly rug" commands - third one fails.
+ Fix some glitches in processing fee fie foe foo.
+ Correct some object start states and reading-related glitches in the endgame.
+
+1.9: 2020-08-27::
+ Update the dungeon maker to avoid a deprecation due to security issues
+
+1.8: 2019-04-19::
+ Minor typo and capitalization glitches in user-visible text fixed & documented.
+ Save format has changed.
+
+1.7: 2018-12-03::
+ Python 3 and OS X port fixes.
+
+1.6: 2018-11-15::
+ Split commands with verbless objects now pick up a preceding verb correctly.
+
+1.5: 2018-11-11::
+ Fix for a minor bug in inventory handling.
+ Handle a bare numeric token on the command line a bit more gracefully.
+
+1.4: 2017-08-07::
+ Repair packaging error (omitted templates.)
+ Minor improvements in odd grammar cases.
+
+1.3: 2017-08-01::
+ Split commands with objectless transitive verbs are handled correctly.
+ Test suite has 100% code coverage.
+
+1.2: 2017-07-11::
+ Under oldstyle, new-school single-letter command synonyms are ignored.
+ Switched from linenoise to editline for new-style line input.
+ The -s option is no longer required to paste command input; it is removed.
+
+1.1: 2017-06-29::
+ There is a 'version' command.
+ Include tests directory in generated tarball.
+ Support command-line editing with arrow keys and Emacs keystrokes.
+ Save format has changed.
+
+1.0: 2017-06-05::
+ Forward port of Crowther & Woods's 430-point Adventure 2.5.
+ Added -l option for logging.
+ Game logs are now fully reproducible via the "seed" command.
+ Added regression-test suite using seed, with coverage checking.
+ Added command prompt; -o suppresses this. Otherwise no gameplay changes.
+ Fixed bug that caused reservoir word not to be randomized.
+ Makefile does parallel builds.
diff --git a/README b/README
deleted file mode 100644
index fe08aaf..0000000
--- a/README
+++ /dev/null
@@ -1,16 +0,0 @@
-= README for Open Adventure =
-
-This code is a forward-port of the Crowther/Woods Adventure 2.5 from
-1995, last version in the main line of Colossal Cave Adventure
-development written by the original authors. The authors have given
-permission and encouragement to this release.
-
-The file history.txt contains a more detailed history of this game
-and its ancestors.
-
-This project is called "Open Adventure" because it's not at all clear
-to number Adventure past 2.5 without misleading or causing collisions
-or both. See the history file for discussion. The original 6-character
-name on the PDP-10 has been reverted to in order to avoid a collision
-with the BSD games port of the ancestral 196 version.
-
diff --git a/README.adoc b/README.adoc
new file mode 100644
index 0000000..6b25f7f
--- /dev/null
+++ b/README.adoc
@@ -0,0 +1,41 @@
+= README for Open Adventure =
+// SPDX-FileCopyrightText: (C) Eric S. Raymond
+// SPDX-License-Identifier: CC-BY-4.0
+
+If you are reading this anywhere but at http://www.catb.org/~esr/open-adventure
+you can go there for tarball downloads and other resources.
+
+This code is a forward-port of the Crowther/Woods Adventure 2.5 from
+1995, last version in the main line of Colossal Cave Adventure
+development written by the original authors. The authors have given
+permission and encouragement for this release; it obsolesces all
+the 350-point versions and previous 2.x (430-point) ports.
+
+The file history.adoc contains a more detailed history of this game
+and its ancestors. The file notes.adoc is the maintainer's notes,
+describing project goals and recent changes.
+
+This project is called "Open Adventure" because it's not at all clear
+how to number Adventure past 2.5 without misleading or causing
+collisions or both. See the history file for discussion. The
+original 6-character name on the PDP-10 has been reverted to for the
+executable in order to avoid a collision with the BSD games port of
+the ancestral 1977 version.
+
+Please see INSTALL.adoc for build info.
+
+Extreme care has been taken to not silently change gameplay. By
+policy, all user-visible changes from 2.5 that are not bugs or typos
+are revertible with the -o (oldstyle) command-line option.
+
+If you encounter a bug (not likely; this code is old and well tested)
+please try to make a test log that reproduces it, using the -l option,
+and ship it to the maintainers.
+
+If you find this code useful or amusing, please
+https://www.patreon.com/esr[support me on Patreon.]
+
+// end
+
+
+
diff --git a/TODO b/TODO
deleted file mode 100644
index 3fe80a7..0000000
--- a/TODO
+++ /dev/null
@@ -1,17 +0,0 @@
-= Open Adventure TODO =
-
-* Use a real pseudorandom-number generator with a seed rather than just
- time-sampling.
-
-* Add command logging and command log replay. Note that the replay log
- needs to begin with the random-number seed.
-
-* Use that feature to make regression tests from walkthroughs.
-
-* Add command-line option to disable all extension features. First
- extension features: (1) Command prompt, (2) initial resource-allocation
- number display suppressed.
-
-* Translate the FORTRANish mess to actual C.
-
-* Inline the database so the code doesn't need an external file.
diff --git a/actions.c b/actions.c
new file mode 100644
index 0000000..469e92f
--- /dev/null
+++ b/actions.c
@@ -0,0 +1,1659 @@
+/*
+ * Actions for the dungeon-running code.
+ *
+ * SPDX-FileCopyrightText: (C) 1977, 2005 Will Crowther and Don Woods
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#include
+#include
+#include
+#include
+
+#include "advent.h"
+
+static phase_codes_t fill(verb_t, obj_t);
+
+static phase_codes_t attack(command_t command) {
+ /* Attack. Assume target if unambiguous. "Throw" also links here.
+ * Attackable objects fall into two categories: enemies (snake,
+ * dwarf, etc.) and others (bird, clam, machine). Ambiguous if 2
+ * enemies, or no enemies but 2 others. */
+ verb_t verb = command.verb;
+ obj_t obj = command.obj;
+
+ if (obj == INTRANSITIVE) {
+ int changes = 0;
+ if (atdwrf(game.loc) > 0) {
+ obj = DWARF;
+ ++changes;
+ }
+ if (HERE(SNAKE)) {
+ obj = SNAKE;
+ ++changes;
+ }
+ if (AT(DRAGON) && game.objects[DRAGON].prop == DRAGON_BARS) {
+ obj = DRAGON;
+ ++changes;
+ }
+ if (AT(TROLL)) {
+ obj = TROLL;
+ ++changes;
+ }
+ if (AT(OGRE)) {
+ obj = OGRE;
+ ++changes;
+ }
+ if (HERE(BEAR) && game.objects[BEAR].prop == UNTAMED_BEAR) {
+ obj = BEAR;
+ ++changes;
+ }
+ /* check for low-priority targets */
+ if (obj == INTRANSITIVE) {
+ /* Can't attack bird or machine by throwing axe. */
+ if (HERE(BIRD) && verb != THROW) {
+ obj = BIRD;
+ ++changes;
+ }
+ if (HERE(VEND) && verb != THROW) {
+ obj = VEND;
+ ++changes;
+ }
+ /* Clam and oyster both treated as clam for intransitive
+ * case; no harm done. */
+ if (HERE(CLAM) || HERE(OYSTER)) {
+ obj = CLAM;
+ ++changes;
+ }
+ }
+ if (changes >= 2) {
+ return GO_UNKNOWN;
+ }
+ }
+
+ if (obj == BIRD) {
+ if (game.closed) {
+ rspeak(UNHAPPY_BIRD);
+ } else {
+ DESTROY(BIRD);
+ rspeak(BIRD_DEAD);
+ }
+ return GO_CLEAROBJ;
+ }
+ if (obj == VEND) {
+ state_change(VEND, game.objects[VEND].prop == VEND_BLOCKS
+ ? VEND_UNBLOCKS
+ : VEND_BLOCKS);
+
+ return GO_CLEAROBJ;
+ }
+
+ if (obj == BEAR) {
+ switch (game.objects[BEAR].prop) {
+ case UNTAMED_BEAR:
+ rspeak(BEAR_HANDS);
+ break;
+ case SITTING_BEAR:
+ rspeak(BEAR_CONFUSED);
+ break;
+ case CONTENTED_BEAR:
+ rspeak(BEAR_CONFUSED);
+ break;
+ case BEAR_DEAD:
+ rspeak(ALREADY_DEAD);
+ break;
+ }
+ return GO_CLEAROBJ;
+ }
+ if (obj == DRAGON && game.objects[DRAGON].prop == DRAGON_BARS) {
+ /* Fun stuff for dragon. If he insists on attacking it, win!
+ * Set game.prop to dead, move dragon to central loc (still
+ * fixed), move rug there (not fixed), and move him there,
+ * too. Then do a null motion to get new description. */
+ rspeak(BARE_HANDS_QUERY);
+ if (!silent_yes_or_no()) {
+ speak(arbitrary_messages[NASTY_DRAGON]);
+ return GO_MOVE;
+ }
+ state_change(DRAGON, DRAGON_DEAD);
+ game.objects[RUG].prop = RUG_FLOOR;
+ /* Hardcoding LOC_SECRET5 as the dragon's death location is
+ * ugly. The way it was computed before was worse; it depended
+ * on the two dragon locations being LOC_SECRET4 and LOC_SECRET6
+ * and LOC_SECRET5 being right between them.
+ */
+ move(DRAGON + NOBJECTS, IS_FIXED);
+ move(RUG + NOBJECTS, IS_FREE);
+ move(DRAGON, LOC_SECRET5);
+ move(RUG, LOC_SECRET5);
+ drop(BLOOD, LOC_SECRET5);
+ for (obj_t i = 1; i <= NOBJECTS; i++) {
+ if (game.objects[i].place == objects[DRAGON].plac ||
+ game.objects[i].place == objects[DRAGON].fixd) {
+ move(i, LOC_SECRET5);
+ }
+ }
+ game.loc = LOC_SECRET5;
+ return GO_MOVE;
+ }
+
+ if (obj == OGRE) {
+ rspeak(OGRE_DODGE);
+ if (atdwrf(game.loc) == 0) {
+ return GO_CLEAROBJ;
+ }
+ rspeak(KNIFE_THROWN);
+ DESTROY(OGRE);
+ int dwarves = 0;
+ for (int i = 1; i < PIRATE; i++) {
+ if (game.dwarves[i].loc == game.loc) {
+ ++dwarves;
+ game.dwarves[i].loc = LOC_LONGWEST;
+ game.dwarves[i].seen = false;
+ }
+ }
+ rspeak((dwarves > 1) ? OGRE_PANIC1 : OGRE_PANIC2);
+ return GO_CLEAROBJ;
+ }
+
+ switch (obj) {
+ case INTRANSITIVE:
+ rspeak(NO_TARGET);
+ break;
+ case CLAM:
+ case OYSTER:
+ rspeak(SHELL_IMPERVIOUS);
+ break;
+ case SNAKE:
+ rspeak(SNAKE_WARNING);
+ break;
+ case DWARF:
+ if (game.closed) {
+ return GO_DWARFWAKE;
+ }
+ rspeak(BARE_HANDS_QUERY);
+ break;
+ case DRAGON:
+ rspeak(ALREADY_DEAD);
+ break;
+ case TROLL:
+ rspeak(ROCKY_TROLL);
+ break;
+ default:
+ speak(actions[verb].message);
+ }
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t bigwords(vocab_t id) {
+ /* Only called on FEE FIE FOE FOO (AND FUM). Advance to next state if
+ * given in proper order. Look up foo in special section of vocab to
+ * determine which word we've got. Last word zips the eggs back to the
+ * giant room (unless already there). */
+ int foobar = abs(game.foobar);
+
+ /* Only FEE can start a magic-word sequence. */
+ if ((foobar == WORD_EMPTY) &&
+ (id == FIE || id == FOE || id == FOO || id == FUM)) {
+ rspeak(NOTHING_HAPPENS);
+ return GO_CLEAROBJ;
+ }
+
+ if ((foobar == WORD_EMPTY && id == FEE) ||
+ (foobar == FEE && id == FIE) || (foobar == FIE && id == FOE) ||
+ (foobar == FOE && id == FOO)) {
+ game.foobar = id;
+ if (id != FOO) {
+ rspeak(OK_MAN);
+ return GO_CLEAROBJ;
+ }
+ game.foobar = WORD_EMPTY;
+ if (game.objects[EGGS].place == objects[EGGS].plac ||
+ (TOTING(EGGS) && game.loc == objects[EGGS].plac)) {
+ rspeak(NOTHING_HAPPENS);
+ return GO_CLEAROBJ;
+ } else {
+ /* Bring back troll if we steal the eggs back from him
+ * before crossing. */
+ if (game.objects[EGGS].place == LOC_NOWHERE &&
+ game.objects[TROLL].place == LOC_NOWHERE &&
+ game.objects[TROLL].prop == TROLL_UNPAID) {
+ game.objects[TROLL].prop = TROLL_PAIDONCE;
+ }
+ if (HERE(EGGS)) {
+ pspeak(EGGS, look, true, EGGS_VANISHED);
+ } else if (game.loc == objects[EGGS].plac) {
+ pspeak(EGGS, look, true, EGGS_HERE);
+ } else {
+ pspeak(EGGS, look, true, EGGS_DONE);
+ }
+ move(EGGS, objects[EGGS].plac);
+
+ return GO_CLEAROBJ;
+ }
+ } else {
+ /* Magic-word sequence was started but is incorrect */
+ if (settings.oldstyle || game.seenbigwords) {
+ rspeak(START_OVER);
+ } else {
+ rspeak(WELL_POINTLESS);
+ }
+ game.foobar = WORD_EMPTY;
+ return GO_CLEAROBJ;
+ }
+}
+
+static void blast(void) {
+ /* Blast. No effect unless you've got dynamite, which is a neat trick!
+ */
+ if (OBJECT_IS_NOTFOUND(ROD2) || !game.closed) {
+ rspeak(REQUIRES_DYNAMITE);
+ } else {
+ if (HERE(ROD2)) {
+ game.bonus = splatter;
+ rspeak(SPLATTER_MESSAGE);
+ } else if (game.loc == LOC_NE) {
+ game.bonus = defeat;
+ rspeak(DEFEAT_MESSAGE);
+ } else {
+ game.bonus = victory;
+ rspeak(VICTORY_MESSAGE);
+ }
+ terminate(endgame);
+ }
+}
+
+static phase_codes_t vbreak(verb_t verb, obj_t obj) {
+ /* Break. Only works for mirror in repository and, of course, the
+ * vase. */
+ switch (obj) {
+ case MIRROR:
+ if (game.closed) {
+ state_change(MIRROR, MIRROR_BROKEN);
+ return GO_DWARFWAKE;
+ } else {
+ rspeak(TOO_FAR);
+ break;
+ }
+ case VASE:
+ if (game.objects[VASE].prop == VASE_WHOLE) {
+ if (TOTING(VASE)) {
+ drop(VASE, game.loc);
+ }
+ state_change(VASE, VASE_BROKEN);
+ game.objects[VASE].fixed = IS_FIXED;
+ break;
+ }
+ /* FALLTHRU */
+ default:
+ speak(actions[verb].message);
+ }
+ return (GO_CLEAROBJ);
+}
+
+static phase_codes_t brief(void) {
+ /* Brief. Intransitive only. Suppress full descriptions after first
+ * time. */
+ game.abbnum = 10000;
+ game.detail = 3;
+ rspeak(BRIEF_CONFIRM);
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t vcarry(verb_t verb, obj_t obj) {
+ /* Carry an object. Special cases for bird and cage (if bird in cage,
+ * can't take one without the other). Liquids also special, since they
+ * depend on status of bottle. Also various side effects, etc. */
+ if (obj == INTRANSITIVE) {
+ /* Carry, no object given yet. OK if only one object present.
+ */
+ if (game.locs[game.loc].atloc == NO_OBJECT ||
+ game.link[game.locs[game.loc].atloc] != 0 ||
+ atdwrf(game.loc) > 0) {
+ return GO_UNKNOWN;
+ }
+ obj = game.locs[game.loc].atloc;
+ }
+
+ if (TOTING(obj)) {
+ speak(actions[verb].message);
+ return GO_CLEAROBJ;
+ }
+
+ if (obj == MESSAG) {
+ rspeak(REMOVE_MESSAGE);
+ DESTROY(MESSAG);
+ return GO_CLEAROBJ;
+ }
+
+ if (game.objects[obj].fixed != IS_FREE) {
+ switch (obj) {
+ case PLANT:
+ rspeak((game.objects[PLANT].prop == PLANT_THIRSTY ||
+ OBJECT_IS_STASHED(PLANT))
+ ? DEEP_ROOTS
+ : YOU_JOKING);
+ break;
+ case BEAR:
+ rspeak(game.objects[BEAR].prop == SITTING_BEAR
+ ? BEAR_CHAINED
+ : YOU_JOKING);
+ break;
+ case CHAIN:
+ rspeak(game.objects[BEAR].prop != UNTAMED_BEAR
+ ? STILL_LOCKED
+ : YOU_JOKING);
+ break;
+ case RUG:
+ rspeak(game.objects[RUG].prop == RUG_HOVER
+ ? RUG_HOVERS
+ : YOU_JOKING);
+ break;
+ case URN:
+ rspeak(URN_NOBUDGE);
+ break;
+ case CAVITY:
+ rspeak(DOUGHNUT_HOLES);
+ break;
+ case BLOOD:
+ rspeak(FEW_DROPS);
+ break;
+ case SIGN:
+ rspeak(HAND_PASSTHROUGH);
+ break;
+ default:
+ rspeak(YOU_JOKING);
+ }
+ return GO_CLEAROBJ;
+ }
+
+ if (obj == WATER || obj == OIL) {
+ if (!HERE(BOTTLE) || LIQUID() != obj) {
+ if (!TOTING(BOTTLE)) {
+ rspeak(NO_CONTAINER);
+ return GO_CLEAROBJ;
+ }
+ if (game.objects[BOTTLE].prop == EMPTY_BOTTLE) {
+ return (fill(verb, BOTTLE));
+ } else {
+ rspeak(BOTTLE_FULL);
+ }
+ return GO_CLEAROBJ;
+ }
+ obj = BOTTLE;
+ }
+
+ if (game.holdng >= INVLIMIT) {
+ rspeak(CARRY_LIMIT);
+ return GO_CLEAROBJ;
+ }
+
+ if (obj == BIRD && game.objects[BIRD].prop != BIRD_CAGED &&
+ !OBJECT_IS_STASHED(BIRD)) {
+ if (game.objects[BIRD].prop == BIRD_FOREST_UNCAGED) {
+ DESTROY(BIRD);
+ rspeak(BIRD_CRAP);
+ return GO_CLEAROBJ;
+ }
+ if (!TOTING(CAGE)) {
+ rspeak(CANNOT_CARRY);
+ return GO_CLEAROBJ;
+ }
+ if (TOTING(ROD)) {
+ rspeak(BIRD_EVADES);
+ return GO_CLEAROBJ;
+ }
+ game.objects[BIRD].prop = BIRD_CAGED;
+ }
+ if ((obj == BIRD || obj == CAGE) &&
+ OBJECT_STATE_EQUALS(BIRD, BIRD_CAGED)) {
+ /* expression maps BIRD to CAGE and CAGE to BIRD */
+ carry(BIRD + CAGE - obj, game.loc);
+ }
+
+ carry(obj, game.loc);
+
+ if (obj == BOTTLE && LIQUID() != NO_OBJECT) {
+ game.objects[LIQUID()].place = CARRIED;
+ }
+
+ if (GSTONE(obj) && !OBJECT_IS_FOUND(obj)) {
+ OBJECT_SET_FOUND(obj);
+ game.objects[CAVITY].prop = CAVITY_EMPTY;
+ }
+ rspeak(OK_MAN);
+ return GO_CLEAROBJ;
+}
+
+static int chain(verb_t verb) {
+ /* Do something to the bear's chain */
+ if (verb != LOCK) {
+ if (game.objects[BEAR].prop == UNTAMED_BEAR) {
+ rspeak(BEAR_BLOCKS);
+ return GO_CLEAROBJ;
+ }
+ if (game.objects[CHAIN].prop == CHAIN_HEAP) {
+ rspeak(ALREADY_UNLOCKED);
+ return GO_CLEAROBJ;
+ }
+ game.objects[CHAIN].prop = CHAIN_HEAP;
+ game.objects[CHAIN].fixed = IS_FREE;
+ if (game.objects[BEAR].prop != BEAR_DEAD) {
+ game.objects[BEAR].prop = CONTENTED_BEAR;
+ }
+
+ switch (game.objects[BEAR].prop) {
+ // LCOV_EXCL_START
+ case BEAR_DEAD:
+ /* Can't be reached until the bear can die in some way
+ * other than a bridge collapse. Leave in in case this
+ * changes, but exclude from coverage testing. */
+ game.objects[BEAR].fixed = IS_FIXED;
+ break;
+ // LCOV_EXCL_STOP
+ default:
+ game.objects[BEAR].fixed = IS_FREE;
+ }
+ rspeak(CHAIN_UNLOCKED);
+ return GO_CLEAROBJ;
+ }
+
+ if (game.objects[CHAIN].prop != CHAIN_HEAP) {
+ rspeak(ALREADY_LOCKED);
+ return GO_CLEAROBJ;
+ }
+ if (game.loc != objects[CHAIN].plac) {
+ rspeak(NO_LOCKSITE);
+ return GO_CLEAROBJ;
+ }
+
+ game.objects[CHAIN].prop = CHAIN_FIXED;
+
+ if (TOTING(CHAIN)) {
+ drop(CHAIN, game.loc);
+ }
+ game.objects[CHAIN].fixed = IS_FIXED;
+
+ rspeak(CHAIN_LOCKED);
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t discard(verb_t verb, obj_t obj) {
+ /* Discard object. "Throw" also comes here for most objects. Special
+ * cases for bird (might attack snake or dragon) and cage (might contain
+ * bird) and vase. Drop coins at vending machine for extra batteries. */
+ if (obj == ROD && !TOTING(ROD) && TOTING(ROD2)) {
+ obj = ROD2;
+ }
+
+ if (!TOTING(obj)) {
+ speak(actions[verb].message);
+ return GO_CLEAROBJ;
+ }
+
+ if (GSTONE(obj) && AT(CAVITY) &&
+ game.objects[CAVITY].prop != CAVITY_FULL) {
+ rspeak(GEM_FITS);
+ game.objects[obj].prop = STATE_IN_CAVITY;
+ game.objects[CAVITY].prop = CAVITY_FULL;
+ if (HERE(RUG) &&
+ ((obj == EMERALD && game.objects[RUG].prop != RUG_HOVER) ||
+ (obj == RUBY && game.objects[RUG].prop == RUG_HOVER))) {
+ if (obj == RUBY) {
+ rspeak(RUG_SETTLES);
+ } else if (TOTING(RUG)) {
+ rspeak(RUG_WIGGLES);
+ } else {
+ rspeak(RUG_RISES);
+ }
+ if (!TOTING(RUG) || obj == RUBY) {
+ int k = (game.objects[RUG].prop == RUG_HOVER)
+ ? RUG_FLOOR
+ : RUG_HOVER;
+ game.objects[RUG].prop = k;
+ if (k == RUG_HOVER) {
+ k = objects[SAPPH].plac;
+ }
+ move(RUG + NOBJECTS, k);
+ }
+ }
+ drop(obj, game.loc);
+ return GO_CLEAROBJ;
+ }
+
+ if (obj == COINS && HERE(VEND)) {
+ DESTROY(COINS);
+ drop(BATTERY, game.loc);
+ pspeak(BATTERY, look, true, FRESH_BATTERIES);
+ return GO_CLEAROBJ;
+ }
+
+ if (LIQUID() == obj) {
+ obj = BOTTLE;
+ }
+ if (obj == BOTTLE && LIQUID() != NO_OBJECT) {
+ game.objects[LIQUID()].place = LOC_NOWHERE;
+ }
+
+ if (obj == BEAR && AT(TROLL)) {
+ state_change(TROLL, TROLL_GONE);
+ move(TROLL, LOC_NOWHERE);
+ move(TROLL + NOBJECTS, IS_FREE);
+ move(TROLL2, objects[TROLL].plac);
+ move(TROLL2 + NOBJECTS, objects[TROLL].fixd);
+ juggle(CHASM);
+ drop(obj, game.loc);
+ return GO_CLEAROBJ;
+ }
+
+ if (obj == VASE) {
+ if (game.loc != objects[PILLOW].plac) {
+ state_change(VASE,
+ AT(PILLOW) ? VASE_WHOLE : VASE_DROPPED);
+ if (game.objects[VASE].prop != VASE_WHOLE) {
+ game.objects[VASE].fixed = IS_FIXED;
+ }
+ drop(obj, game.loc);
+ return GO_CLEAROBJ;
+ }
+ }
+
+ if (obj == CAGE && game.objects[BIRD].prop == BIRD_CAGED) {
+ drop(BIRD, game.loc);
+ }
+
+ if (obj == BIRD) {
+ if (AT(DRAGON) && game.objects[DRAGON].prop == DRAGON_BARS) {
+ rspeak(BIRD_BURNT);
+ DESTROY(BIRD);
+ return GO_CLEAROBJ;
+ }
+ if (HERE(SNAKE)) {
+ rspeak(BIRD_ATTACKS);
+ if (game.closed) {
+ return GO_DWARFWAKE;
+ }
+ DESTROY(SNAKE);
+ /* Set game.prop for use by travel options */
+ game.objects[SNAKE].prop = SNAKE_CHASED;
+ } else {
+ rspeak(OK_MAN);
+ }
+
+ game.objects[BIRD].prop =
+ FOREST(game.loc) ? BIRD_FOREST_UNCAGED : BIRD_UNCAGED;
+ drop(obj, game.loc);
+ return GO_CLEAROBJ;
+ }
+
+ rspeak(OK_MAN);
+ drop(obj, game.loc);
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t drink(verb_t verb, obj_t obj) {
+ /* Drink. If no object, assume water and look for it here. If water
+ * is in the bottle, drink that, else must be at a water loc, so drink
+ * stream. */
+ if (obj == INTRANSITIVE && LIQLOC(game.loc) != WATER &&
+ (LIQUID() != WATER || !HERE(BOTTLE))) {
+ return GO_UNKNOWN;
+ }
+
+ if (obj == BLOOD) {
+ DESTROY(BLOOD);
+ state_change(DRAGON, DRAGON_BLOODLESS);
+ game.blooded = true;
+ return GO_CLEAROBJ;
+ }
+
+ if (obj != INTRANSITIVE && obj != WATER) {
+ rspeak(RIDICULOUS_ATTEMPT);
+ return GO_CLEAROBJ;
+ }
+ if (LIQUID() == WATER && HERE(BOTTLE)) {
+ game.objects[WATER].place = LOC_NOWHERE;
+ state_change(BOTTLE, EMPTY_BOTTLE);
+ return GO_CLEAROBJ;
+ }
+
+ speak(actions[verb].message);
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t eat(verb_t verb, obj_t obj) {
+ /* Eat. Intransitive: assume food if present, else ask what.
+ * Transitive: food ok, some things lose appetite, rest are ridiculous.
+ */
+ switch (obj) {
+ case INTRANSITIVE:
+ if (!HERE(FOOD)) {
+ return GO_UNKNOWN;
+ }
+ /* FALLTHRU */
+ case FOOD:
+ DESTROY(FOOD);
+ rspeak(THANKS_DELICIOUS);
+ break;
+ case BIRD:
+ case SNAKE:
+ case CLAM:
+ case OYSTER:
+ case DWARF:
+ case DRAGON:
+ case TROLL:
+ case BEAR:
+ case OGRE:
+ rspeak(LOST_APPETITE);
+ break;
+ default:
+ speak(actions[verb].message);
+ }
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t extinguish(verb_t verb, obj_t obj) {
+ /* Extinguish. Lamp, urn, dragon/volcano (nice try). */
+ if (obj == INTRANSITIVE) {
+ if (HERE(LAMP) && game.objects[LAMP].prop == LAMP_BRIGHT) {
+ obj = LAMP;
+ }
+ if (HERE(URN) && game.objects[URN].prop == URN_LIT) {
+ obj = URN;
+ }
+ if (obj == INTRANSITIVE) {
+ return GO_UNKNOWN;
+ }
+ }
+
+ switch (obj) {
+ case URN:
+ if (game.objects[URN].prop != URN_EMPTY) {
+ state_change(URN, URN_DARK);
+ } else {
+ pspeak(URN, change, true, URN_DARK);
+ }
+ break;
+ case LAMP:
+ state_change(LAMP, LAMP_DARK);
+ rspeak(IS_DARK_HERE() ? PITCH_DARK : NO_MESSAGE);
+ break;
+ case DRAGON:
+ case VOLCANO:
+ rspeak(BEYOND_POWER);
+ break;
+ default:
+ speak(actions[verb].message);
+ }
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t feed(verb_t verb, obj_t obj) {
+ /* Feed. If bird, no seed. Snake, dragon, troll: quip. If dwarf,
+ * make him mad. Bear, special. */
+ switch (obj) {
+ case BIRD:
+ rspeak(BIRD_PINING);
+ break;
+ case DRAGON:
+ if (game.objects[DRAGON].prop != DRAGON_BARS) {
+ rspeak(RIDICULOUS_ATTEMPT);
+ } else {
+ rspeak(NOTHING_EDIBLE);
+ }
+ break;
+ case SNAKE:
+ if (!game.closed && HERE(BIRD)) {
+ DESTROY(BIRD);
+ rspeak(BIRD_DEVOURED);
+ } else {
+ rspeak(NOTHING_EDIBLE);
+ }
+ break;
+ case TROLL:
+ rspeak(TROLL_VICES);
+ break;
+ case DWARF:
+ if (HERE(FOOD)) {
+ game.dflag += 2;
+ rspeak(REALLY_MAD);
+ } else {
+ speak(actions[verb].message);
+ }
+ break;
+ case BEAR:
+ if (game.objects[BEAR].prop == BEAR_DEAD) {
+ rspeak(RIDICULOUS_ATTEMPT);
+ break;
+ }
+ if (game.objects[BEAR].prop == UNTAMED_BEAR) {
+ if (HERE(FOOD)) {
+ DESTROY(FOOD);
+ game.objects[AXE].fixed = IS_FREE;
+ game.objects[AXE].prop = AXE_HERE;
+ state_change(BEAR, SITTING_BEAR);
+ } else {
+ rspeak(NOTHING_EDIBLE);
+ }
+ break;
+ }
+ speak(actions[verb].message);
+ break;
+ case OGRE:
+ if (HERE(FOOD)) {
+ rspeak(OGRE_FULL);
+ } else {
+ speak(actions[verb].message);
+ }
+ break;
+ default:
+ rspeak(AM_GAME);
+ }
+ return GO_CLEAROBJ;
+}
+
+phase_codes_t fill(verb_t verb, obj_t obj) {
+ /* Fill. Bottle or urn must be empty, and liquid available. (Vase
+ * is nasty.) */
+ if (obj == VASE) {
+ if (LIQLOC(game.loc) == NO_OBJECT) {
+ rspeak(FILL_INVALID);
+ return GO_CLEAROBJ;
+ }
+ if (!TOTING(VASE)) {
+ rspeak(ARENT_CARRYING);
+ return GO_CLEAROBJ;
+ }
+ rspeak(SHATTER_VASE);
+ game.objects[VASE].prop = VASE_BROKEN;
+ game.objects[VASE].fixed = IS_FIXED;
+ drop(VASE, game.loc);
+ return GO_CLEAROBJ;
+ }
+
+ if (obj == URN) {
+ if (game.objects[URN].prop != URN_EMPTY) {
+ rspeak(FULL_URN);
+ return GO_CLEAROBJ;
+ }
+ if (!HERE(BOTTLE)) {
+ rspeak(FILL_INVALID);
+ return GO_CLEAROBJ;
+ }
+ int k = LIQUID();
+ switch (k) {
+ case WATER:
+ game.objects[BOTTLE].prop = EMPTY_BOTTLE;
+ rspeak(WATER_URN);
+ break;
+ case OIL:
+ game.objects[URN].prop = URN_DARK;
+ game.objects[BOTTLE].prop = EMPTY_BOTTLE;
+ rspeak(OIL_URN);
+ break;
+ case NO_OBJECT:
+ default:
+ rspeak(FILL_INVALID);
+ return GO_CLEAROBJ;
+ }
+ game.objects[k].place = LOC_NOWHERE;
+ return GO_CLEAROBJ;
+ }
+ if (obj != INTRANSITIVE && obj != BOTTLE) {
+ speak(actions[verb].message);
+ return GO_CLEAROBJ;
+ }
+ if (obj == INTRANSITIVE && !HERE(BOTTLE)) {
+ return GO_UNKNOWN;
+ }
+
+ if (HERE(URN) && game.objects[URN].prop != URN_EMPTY) {
+ rspeak(URN_NOPOUR);
+ return GO_CLEAROBJ;
+ }
+ if (LIQUID() != NO_OBJECT) {
+ rspeak(BOTTLE_FULL);
+ return GO_CLEAROBJ;
+ }
+ if (LIQLOC(game.loc) == NO_OBJECT) {
+ rspeak(NO_LIQUID);
+ return GO_CLEAROBJ;
+ }
+
+ state_change(BOTTLE,
+ (LIQLOC(game.loc) == OIL) ? OIL_BOTTLE : WATER_BOTTLE);
+ if (TOTING(BOTTLE)) {
+ game.objects[LIQUID()].place = CARRIED;
+ }
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t find(verb_t verb, obj_t obj) {
+ /* Find. Might be carrying it, or it might be here. Else give caveat.
+ */
+ if (TOTING(obj)) {
+ rspeak(ALREADY_CARRYING);
+ return GO_CLEAROBJ;
+ }
+
+ if (game.closed) {
+ rspeak(NEEDED_NEARBY);
+ return GO_CLEAROBJ;
+ }
+
+ if (AT(obj) || (LIQUID() == obj && AT(BOTTLE)) ||
+ obj == LIQLOC(game.loc) || (obj == DWARF && atdwrf(game.loc) > 0)) {
+ rspeak(YOU_HAVEIT);
+ return GO_CLEAROBJ;
+ }
+
+ speak(actions[verb].message);
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t fly(verb_t verb, obj_t obj) {
+ /* Fly. Snide remarks unless hovering rug is here. */
+ if (obj == INTRANSITIVE) {
+ if (!HERE(RUG)) {
+ rspeak(FLAP_ARMS);
+ return GO_CLEAROBJ;
+ }
+ if (game.objects[RUG].prop != RUG_HOVER) {
+ rspeak(RUG_NOTHING2);
+ return GO_CLEAROBJ;
+ }
+ obj = RUG;
+ }
+
+ if (obj != RUG) {
+ speak(actions[verb].message);
+ return GO_CLEAROBJ;
+ }
+ if (game.objects[RUG].prop != RUG_HOVER) {
+ rspeak(RUG_NOTHING1);
+ return GO_CLEAROBJ;
+ }
+
+ if (game.loc == LOC_CLIFF) {
+ game.oldlc2 = game.oldloc;
+ game.oldloc = game.loc;
+ game.newloc = LOC_LEDGE;
+ rspeak(RUG_GOES);
+ } else if (game.loc == LOC_LEDGE) {
+ game.oldlc2 = game.oldloc;
+ game.oldloc = game.loc;
+ game.newloc = LOC_CLIFF;
+ rspeak(RUG_RETURNS);
+ } else {
+ // LCOV_EXCL_START
+ /* should never happen */
+ rspeak(NOTHING_HAPPENS);
+ // LCOV_EXCL_STOP
+ }
+ return GO_TERMINATE;
+}
+
+static phase_codes_t inven(void) {
+ /* Inventory. If object, treat same as find. Else report on current
+ * burden. */
+ bool empty = true;
+ for (obj_t i = 1; i <= NOBJECTS; i++) {
+ if (i == BEAR || !TOTING(i)) {
+ continue;
+ }
+ if (empty) {
+ rspeak(NOW_HOLDING);
+ empty = false;
+ }
+ pspeak(i, touch, false, -1);
+ }
+ if (TOTING(BEAR)) {
+ rspeak(TAME_BEAR);
+ }
+ if (empty) {
+ rspeak(NO_CARRY);
+ }
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t light(verb_t verb, obj_t obj) {
+ /* Light. Applicable only to lamp and urn. */
+ if (obj == INTRANSITIVE) {
+ int selects = 0;
+ if (HERE(LAMP) && game.objects[LAMP].prop == LAMP_DARK &&
+ game.limit >= 0) {
+ obj = LAMP;
+ selects++;
+ }
+ if (HERE(URN) && game.objects[URN].prop == URN_DARK) {
+ obj = URN;
+ selects++;
+ }
+ if (selects != 1) {
+ return GO_UNKNOWN;
+ }
+ }
+
+ switch (obj) {
+ case URN:
+ state_change(URN, game.objects[URN].prop == URN_EMPTY
+ ? URN_EMPTY
+ : URN_LIT);
+ break;
+ case LAMP:
+ if (game.limit < 0) {
+ rspeak(LAMP_OUT);
+ break;
+ }
+ state_change(LAMP, LAMP_BRIGHT);
+ if (game.wzdark) {
+ return GO_TOP;
+ }
+ break;
+ default:
+ speak(actions[verb].message);
+ }
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t listen(void) {
+ /* Listen. Intransitive only. Print stuff based on object sound
+ * properties. */
+ bool soundlatch = false;
+ vocab_t sound = locations[game.loc].sound;
+ if (sound != SILENT) {
+ rspeak(sound);
+ if (!locations[game.loc].loud) {
+ rspeak(NO_MESSAGE);
+ }
+ soundlatch = true;
+ }
+ for (obj_t i = 1; i <= NOBJECTS; i++) {
+ if (!HERE(i) || objects[i].sounds[0] == NULL ||
+ OBJECT_IS_STASHED(i) || OBJECT_IS_NOTFOUND(i)) {
+ continue;
+ }
+ int mi = game.objects[i].prop;
+ /* (ESR) Some unpleasant magic on object states here. Ideally
+ * we'd have liked the bird to be a normal object that we can
+ * use state_change() on; can't do it, because there are
+ * actually two different series of per-state birdsounds
+ * depending on whether player has drunk dragon's blood. */
+ if (i == BIRD) {
+ mi += 3 * game.blooded;
+ }
+ pspeak(i, hear, true, mi, game.zzword);
+ rspeak(NO_MESSAGE);
+ if (i == BIRD && mi == BIRD_ENDSTATE) {
+ DESTROY(BIRD);
+ }
+ soundlatch = true;
+ }
+ if (!soundlatch) {
+ rspeak(ALL_SILENT);
+ }
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t lock(verb_t verb, obj_t obj) {
+ /* Lock, unlock, no object given. Assume various things if present. */
+ if (obj == INTRANSITIVE) {
+ if (HERE(CLAM)) {
+ obj = CLAM;
+ }
+ if (HERE(OYSTER)) {
+ obj = OYSTER;
+ }
+ if (AT(DOOR)) {
+ obj = DOOR;
+ }
+ if (AT(GRATE)) {
+ obj = GRATE;
+ }
+ if (HERE(CHAIN)) {
+ obj = CHAIN;
+ }
+ if (obj == INTRANSITIVE) {
+ rspeak(NOTHING_LOCKED);
+ return GO_CLEAROBJ;
+ }
+ }
+
+ /* Lock, unlock object. Special stuff for opening clam/oyster
+ * and for chain. */
+
+ switch (obj) {
+ case CHAIN:
+ if (HERE(KEYS)) {
+ return chain(verb);
+ } else {
+ rspeak(NO_KEYS);
+ }
+ break;
+ case GRATE:
+ if (HERE(KEYS)) {
+ if (game.closng) {
+ rspeak(EXIT_CLOSED);
+ if (!game.panic) {
+ game.clock2 = PANICTIME;
+ }
+ game.panic = true;
+ } else {
+ state_change(GRATE, (verb == LOCK)
+ ? GRATE_CLOSED
+ : GRATE_OPEN);
+ }
+ } else {
+ rspeak(NO_KEYS);
+ }
+ break;
+ case CLAM:
+ if (verb == LOCK) {
+ rspeak(HUH_MAN);
+ } else if (TOTING(CLAM)) {
+ rspeak(DROP_CLAM);
+ } else if (!TOTING(TRIDENT)) {
+ rspeak(CLAM_OPENER);
+ } else {
+ DESTROY(CLAM);
+ drop(OYSTER, game.loc);
+ drop(PEARL, LOC_CULDESAC);
+ rspeak(PEARL_FALLS);
+ }
+ break;
+ case OYSTER:
+ if (verb == LOCK) {
+ rspeak(HUH_MAN);
+ } else if (TOTING(OYSTER)) {
+ rspeak(DROP_OYSTER);
+ } else if (!TOTING(TRIDENT)) {
+ rspeak(OYSTER_OPENER);
+ } else {
+ rspeak(OYSTER_OPENS);
+ }
+ break;
+ case DOOR:
+ rspeak((game.objects[DOOR].prop == DOOR_UNRUSTED) ? OK_MAN
+ : RUSTY_DOOR);
+ break;
+ case CAGE:
+ rspeak(NO_LOCK);
+ break;
+ case KEYS:
+ rspeak(CANNOT_UNLOCK);
+ break;
+ default:
+ speak(actions[verb].message);
+ }
+
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t pour(verb_t verb, obj_t obj) {
+ /* Pour. If no object, or object is bottle, assume contents of bottle.
+ * special tests for pouring water or oil on plant or rusty door. */
+ if (obj == BOTTLE || obj == INTRANSITIVE) {
+ obj = LIQUID();
+ }
+ if (obj == NO_OBJECT) {
+ return GO_UNKNOWN;
+ }
+ if (!TOTING(obj)) {
+ speak(actions[verb].message);
+ return GO_CLEAROBJ;
+ }
+
+ if (obj != OIL && obj != WATER) {
+ rspeak(CANT_POUR);
+ return GO_CLEAROBJ;
+ }
+ if (HERE(URN) && game.objects[URN].prop == URN_EMPTY) {
+ return fill(verb, URN);
+ }
+ game.objects[BOTTLE].prop = EMPTY_BOTTLE;
+ game.objects[obj].place = LOC_NOWHERE;
+ if (!(AT(PLANT) || AT(DOOR))) {
+ rspeak(GROUND_WET);
+ return GO_CLEAROBJ;
+ }
+ if (!AT(DOOR)) {
+ if (obj == WATER) {
+ /* cycle through the three plant states */
+ state_change(PLANT,
+ MOD(game.objects[PLANT].prop + 1, 3));
+ game.objects[PLANT2].prop = game.objects[PLANT].prop;
+ return GO_MOVE;
+ } else {
+ rspeak(SHAKING_LEAVES);
+ return GO_CLEAROBJ;
+ }
+ } else {
+ state_change(DOOR, (obj == OIL) ? DOOR_UNRUSTED : DOOR_RUSTED);
+ return GO_CLEAROBJ;
+ }
+}
+
+static phase_codes_t quit(void) {
+ /* Quit. Intransitive only. Verify intent and exit if that's what he
+ * wants. */
+ if (yes_or_no(arbitrary_messages[REALLY_QUIT],
+ arbitrary_messages[OK_MAN], arbitrary_messages[OK_MAN])) {
+ terminate(quitgame);
+ }
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t read(command_t command)
+/* Read. Print stuff based on objtxt. Oyster (?) is special case. */
+{
+ if (command.obj == INTRANSITIVE) {
+ command.obj = NO_OBJECT;
+ for (int i = 1; i <= NOBJECTS; i++) {
+ if (HERE(i) && objects[i].texts[0] != NULL &&
+ !OBJECT_IS_STASHED(i)) {
+ command.obj = command.obj * NOBJECTS + i;
+ }
+ }
+ if (command.obj > NOBJECTS || command.obj == NO_OBJECT ||
+ IS_DARK_HERE()) {
+ return GO_UNKNOWN;
+ }
+ }
+
+ if (IS_DARK_HERE()) {
+ sspeak(NO_SEE, command.word[0].raw);
+ } else if (command.obj == OYSTER) {
+ if (!TOTING(OYSTER) || !game.closed) {
+ rspeak(DONT_UNDERSTAND);
+ } else if (!game.clshnt) {
+ game.clshnt = yes_or_no(arbitrary_messages[CLUE_QUERY],
+ arbitrary_messages[WAYOUT_CLUE],
+ arbitrary_messages[OK_MAN]);
+ } else {
+ pspeak(OYSTER, hear, true,
+ 1); // Not really a sound, but oh well.
+ }
+ } else if (objects[command.obj].texts[0] == NULL ||
+ OBJECT_IS_NOTFOUND(command.obj)) {
+ speak(actions[command.verb].message);
+ } else {
+ pspeak(command.obj, study, true,
+ game.objects[command.obj].prop);
+ }
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t reservoir(void) {
+ /* Z'ZZZ (word gets recomputed at startup; different each game). */
+ if (!AT(RESER) && game.loc != LOC_RESBOTTOM) {
+ rspeak(NOTHING_HAPPENS);
+ return GO_CLEAROBJ;
+ } else {
+ state_change(RESER, game.objects[RESER].prop == WATERS_PARTED
+ ? WATERS_UNPARTED
+ : WATERS_PARTED);
+ if (AT(RESER)) {
+ return GO_CLEAROBJ;
+ } else {
+ game.oldlc2 = game.loc;
+ game.newloc = LOC_NOWHERE;
+ rspeak(NOT_BRIGHT);
+ return GO_TERMINATE;
+ }
+ }
+}
+
+static phase_codes_t rub(verb_t verb, obj_t obj) {
+ /* Rub. Yields various snide remarks except for lit urn. */
+ if (obj == URN && game.objects[URN].prop == URN_LIT) {
+ DESTROY(URN);
+ drop(AMBER, game.loc);
+ game.objects[AMBER].prop = AMBER_IN_ROCK;
+ --game.tally;
+ drop(CAVITY, game.loc);
+ rspeak(URN_GENIES);
+ } else if (obj != LAMP) {
+ rspeak(PECULIAR_NOTHING);
+ } else {
+ speak(actions[verb].message);
+ }
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t say(command_t command) {
+ /* Say. Echo WD2. Magic words override. */
+ if (command.word[1].type == MOTION &&
+ (command.word[1].id == XYZZY || command.word[1].id == PLUGH ||
+ command.word[1].id == PLOVER)) {
+ return GO_WORD2;
+ }
+ if (command.word[1].type == ACTION && command.word[1].id == PART) {
+ return reservoir();
+ }
+
+ if (command.word[1].type == ACTION &&
+ (command.word[1].id == FEE || command.word[1].id == FIE ||
+ command.word[1].id == FOE || command.word[1].id == FOO ||
+ command.word[1].id == FUM || command.word[1].id == PART)) {
+ return bigwords(command.word[1].id);
+ }
+ sspeak(OKEY_DOKEY, command.word[1].raw);
+ return GO_CLEAROBJ;
+}
+
+static phase_codes_t throw_support(vocab_t spk) {
+ rspeak(spk);
+ drop(AXE, game.loc);
+ return GO_MOVE;
+}
+
+static phase_codes_t throwit(command_t command) {
+ /* Throw. Same as discard unless axe. Then same as attack except
+ * ignore bird, and if dwarf is present then one might be killed.
+ * (Only way to do so!) Axe also special for dragon, bear, and
+ * troll. Treasures special for troll. */
+ if (!TOTING(command.obj)) {
+ speak(actions[command.verb].message);
+ return GO_CLEAROBJ;
+ }
+ if (objects[command.obj].is_treasure && AT(TROLL)) {
+ /* Snarf a treasure for the troll. */
+ drop(command.obj, LOC_NOWHERE);
+ move(TROLL, LOC_NOWHERE);
+ move(TROLL + NOBJECTS, IS_FREE);
+ drop(TROLL2, objects[TROLL].plac);
+ drop(TROLL2 + NOBJECTS, objects[TROLL].fixd);
+ juggle(CHASM);
+ rspeak(TROLL_SATISFIED);
+ return GO_CLEAROBJ;
+ }
+ if (command.obj == FOOD && HERE(BEAR)) {
+ /* But throwing food is another story. */
+ command.obj = BEAR;
+ return (feed(command.verb, command.obj));
+ }
+ if (command.obj != AXE) {
+ return (discard(command.verb, command.obj));
+ } else {
+ if (atdwrf(game.loc) <= 0) {
+ if (AT(DRAGON) &&
+ game.objects[DRAGON].prop == DRAGON_BARS) {
+ return throw_support(DRAGON_SCALES);
+ }
+ if (AT(TROLL)) {
+ return throw_support(TROLL_RETURNS);
+ }
+ if (AT(OGRE)) {
+ return throw_support(OGRE_DODGE);
+ }
+ if (HERE(BEAR) &&
+ game.objects[BEAR].prop == UNTAMED_BEAR) {
+ /* This'll teach him to throw the axe at the
+ * bear! */
+ drop(AXE, game.loc);
+ game.objects[AXE].fixed = IS_FIXED;
+ juggle(BEAR);
+ state_change(AXE, AXE_LOST);
+ return GO_CLEAROBJ;
+ }
+ command.obj = INTRANSITIVE;
+ return (attack(command));
+ }
+
+ if (randrange(NDWARVES + 1) < game.dflag) {
+ return throw_support(DWARF_DODGES);
+ } else {
+ int i = atdwrf(game.loc);
+ game.dwarves[i].seen = false;
+ game.dwarves[i].loc = LOC_NOWHERE;
+ return throw_support(
+ (++game.dkill == 1) ? DWARF_SMOKE : KILLED_DWARF);
+ }
+ }
+}
+
+static phase_codes_t wake(verb_t verb, obj_t obj) {
+ /* Wake. Only use is to disturb the dwarves. */
+ if (obj != DWARF || !game.closed) {
+ speak(actions[verb].message);
+ return GO_CLEAROBJ;
+ } else {
+ rspeak(PROD_DWARF);
+ return GO_DWARFWAKE;
+ }
+}
+
+static phase_codes_t seed(verb_t verb, const char *arg) {
+ /* Set seed */
+ int32_t seed = strtol(arg, NULL, 10);
+ speak(actions[verb].message, seed);
+ set_seed(seed);
+ --game.turns;
+ return GO_TOP;
+}
+
+static phase_codes_t waste(verb_t verb, turn_t turns) {
+ /* Burn turns */
+ game.limit -= turns;
+ speak(actions[verb].message, (int)game.limit);
+ return GO_TOP;
+}
+
+static phase_codes_t wave(verb_t verb, obj_t obj) {
+ /* Wave. No effect unless waving rod at fissure or at bird. */
+ if (obj != ROD || !TOTING(obj) ||
+ (!HERE(BIRD) && (game.closng || !AT(FISSURE)))) {
+ speak(((!TOTING(obj)) && (obj != ROD || !TOTING(ROD2)))
+ ? arbitrary_messages[ARENT_CARRYING]
+ : actions[verb].message);
+ return GO_CLEAROBJ;
+ }
+
+ if (game.objects[BIRD].prop == BIRD_UNCAGED &&
+ game.loc == game.objects[STEPS].place && OBJECT_IS_NOTFOUND(JADE)) {
+ drop(JADE, game.loc);
+ OBJECT_SET_FOUND(JADE);
+ --game.tally;
+ rspeak(NECKLACE_FLY);
+ return GO_CLEAROBJ;
+ } else {
+ if (game.closed) {
+ rspeak((game.objects[BIRD].prop == BIRD_CAGED)
+ ? CAGE_FLY
+ : FREE_FLY);
+ return GO_DWARFWAKE;
+ }
+ if (game.closng || !AT(FISSURE)) {
+ rspeak((game.objects[BIRD].prop == BIRD_CAGED)
+ ? CAGE_FLY
+ : FREE_FLY);
+ return GO_CLEAROBJ;
+ }
+ if (HERE(BIRD)) {
+ rspeak((game.objects[BIRD].prop == BIRD_CAGED)
+ ? CAGE_FLY
+ : FREE_FLY);
+ }
+
+ state_change(FISSURE, game.objects[FISSURE].prop == BRIDGED
+ ? UNBRIDGED
+ : BRIDGED);
+ return GO_CLEAROBJ;
+ }
+}
+
+phase_codes_t action(command_t command) {
+ /* Analyse a verb. Remember what it was, go back for object if second
+ * word unless verb is "say", which snarfs arbitrary second word.
+ */
+ /* Previously, actions that result in a message, but don't do anything
+ * further were called "specials". Now they're handled here as normal
+ * actions. If noaction is true, then we spit out the message and return
+ */
+ if (actions[command.verb].noaction) {
+ speak(actions[command.verb].message);
+ return GO_CLEAROBJ;
+ }
+
+ if (command.part == unknown) {
+ /* Analyse an object word. See if the thing is here, whether
+ * we've got a verb yet, and so on. Object must be here
+ * unless verb is "find" or "invent(ory)" (and no new verb
+ * yet to be analysed). Water and oil are also funny, since
+ * they are never actually dropped at any location, but might
+ * be here inside the bottle or urn or as a feature of the
+ * location. */
+ if (HERE(command.obj)) {
+ /* FALL THROUGH */;
+ } else if (command.obj == DWARF && atdwrf(game.loc) > 0) {
+ /* FALL THROUGH */;
+ } else if (!game.closed &&
+ ((LIQUID() == command.obj && HERE(BOTTLE)) ||
+ command.obj == LIQLOC(game.loc))) {
+ /* FALL THROUGH */;
+ } else if (command.obj == OIL && HERE(URN) &&
+ game.objects[URN].prop != URN_EMPTY) {
+ command.obj = URN;
+ /* FALL THROUGH */;
+ } else if (command.obj == PLANT && AT(PLANT2) &&
+ game.objects[PLANT2].prop != PLANT_THIRSTY) {
+ command.obj = PLANT2;
+ /* FALL THROUGH */;
+ } else if (command.obj == KNIFE && game.knfloc == game.loc) {
+ game.knfloc = -1;
+ rspeak(KNIVES_VANISH);
+ return GO_CLEAROBJ;
+ } else if (command.obj == ROD && HERE(ROD2)) {
+ command.obj = ROD2;
+ /* FALL THROUGH */;
+ } else if ((command.verb == FIND ||
+ command.verb == INVENTORY) &&
+ (command.word[1].id == WORD_EMPTY ||
+ command.word[1].id == WORD_NOT_FOUND)) {
+ /* FALL THROUGH */;
+ } else {
+ sspeak(NO_SEE, command.word[0].raw);
+ return GO_CLEAROBJ;
+ }
+
+ if (command.verb != 0) {
+ command.part = transitive;
+ }
+ }
+
+ switch (command.part) {
+ case intransitive:
+ if (command.word[1].raw[0] != '\0' && command.verb != SAY) {
+ return GO_WORD2;
+ }
+ if (command.verb == SAY) {
+ /* KEYS is not special, anything not NO_OBJECT or
+ * INTRANSITIVE will do here. We're preventing
+ * interpretation as an intransitive verb when the word
+ * is unknown. */
+ command.obj =
+ command.word[1].raw[0] != '\0' ? KEYS : NO_OBJECT;
+ }
+ if (command.obj == NO_OBJECT || command.obj == INTRANSITIVE) {
+ /* Analyse an intransitive verb (ie, no object given
+ * yet). */
+ switch (command.verb) {
+ case CARRY:
+ return vcarry(command.verb, INTRANSITIVE);
+ case DROP:
+ return GO_UNKNOWN;
+ case SAY:
+ return GO_UNKNOWN;
+ case UNLOCK:
+ return lock(command.verb, INTRANSITIVE);
+ case NOTHING: {
+ rspeak(OK_MAN);
+ return (GO_CLEAROBJ);
+ }
+ case LOCK:
+ return lock(command.verb, INTRANSITIVE);
+ case LIGHT:
+ return light(command.verb, INTRANSITIVE);
+ case EXTINGUISH:
+ return extinguish(command.verb, INTRANSITIVE);
+ case WAVE:
+ return GO_UNKNOWN;
+ case TAME:
+ return GO_UNKNOWN;
+ case GO: {
+ speak(actions[command.verb].message);
+ return GO_CLEAROBJ;
+ }
+ case ATTACK:
+ command.obj = INTRANSITIVE;
+ return attack(command);
+ case POUR:
+ return pour(command.verb, INTRANSITIVE);
+ case EAT:
+ return eat(command.verb, INTRANSITIVE);
+ case DRINK:
+ return drink(command.verb, INTRANSITIVE);
+ case RUB:
+ return GO_UNKNOWN;
+ case THROW:
+ return GO_UNKNOWN;
+ case QUIT:
+ return quit();
+ case FIND:
+ return GO_UNKNOWN;
+ case INVENTORY:
+ return inven();
+ case FEED:
+ return GO_UNKNOWN;
+ case FILL:
+ return fill(command.verb, INTRANSITIVE);
+ case BLAST:
+ blast();
+ return GO_CLEAROBJ;
+ case SCORE:
+ score(scoregame);
+ return GO_CLEAROBJ;
+ case FEE:
+ case FIE:
+ case FOE:
+ case FOO:
+ case FUM:
+ return bigwords(command.word[0].id);
+ case BRIEF:
+ return brief();
+ case READ:
+ command.obj = INTRANSITIVE;
+ return read(command);
+ case BREAK:
+ return GO_UNKNOWN;
+ case WAKE:
+ return GO_UNKNOWN;
+ case SAVE:
+ return suspend();
+ case RESUME:
+ return resume();
+ case FLY:
+ return fly(command.verb, INTRANSITIVE);
+ case LISTEN:
+ return listen();
+ case PART:
+ return reservoir();
+ case SEED:
+ case WASTE:
+ rspeak(NUMERIC_REQUIRED);
+ return GO_TOP;
+ default: // LCOV_EXCL_LINE
+ BUG(INTRANSITIVE_ACTION_VERB_EXCEEDS_GOTO_LIST); // LCOV_EXCL_LINE
+ }
+ }
+ /* FALLTHRU */
+ case transitive:
+ /* Analyse a transitive verb. */
+ switch (command.verb) {
+ case CARRY:
+ return vcarry(command.verb, command.obj);
+ case DROP:
+ return discard(command.verb, command.obj);
+ case SAY:
+ return say(command);
+ case UNLOCK:
+ return lock(command.verb, command.obj);
+ case NOTHING: {
+ rspeak(OK_MAN);
+ return (GO_CLEAROBJ);
+ }
+ case LOCK:
+ return lock(command.verb, command.obj);
+ case LIGHT:
+ return light(command.verb, command.obj);
+ case EXTINGUISH:
+ return extinguish(command.verb, command.obj);
+ case WAVE:
+ return wave(command.verb, command.obj);
+ case TAME: {
+ speak(actions[command.verb].message);
+ return GO_CLEAROBJ;
+ }
+ case GO: {
+ speak(actions[command.verb].message);
+ return GO_CLEAROBJ;
+ }
+ case ATTACK:
+ return attack(command);
+ case POUR:
+ return pour(command.verb, command.obj);
+ case EAT:
+ return eat(command.verb, command.obj);
+ case DRINK:
+ return drink(command.verb, command.obj);
+ case RUB:
+ return rub(command.verb, command.obj);
+ case THROW:
+ return throwit(command);
+ case QUIT:
+ speak(actions[command.verb].message);
+ return GO_CLEAROBJ;
+ case FIND:
+ return find(command.verb, command.obj);
+ case INVENTORY:
+ return find(command.verb, command.obj);
+ case FEED:
+ return feed(command.verb, command.obj);
+ case FILL:
+ return fill(command.verb, command.obj);
+ case BLAST:
+ blast();
+ return GO_CLEAROBJ;
+ case SCORE:
+ speak(actions[command.verb].message);
+ return GO_CLEAROBJ;
+ case FEE:
+ case FIE:
+ case FOE:
+ case FOO:
+ case FUM:
+ speak(actions[command.verb].message);
+ return GO_CLEAROBJ;
+ case BRIEF:
+ speak(actions[command.verb].message);
+ return GO_CLEAROBJ;
+ case READ:
+ return read(command);
+ case BREAK:
+ return vbreak(command.verb, command.obj);
+ case WAKE:
+ return wake(command.verb, command.obj);
+ case SAVE:
+ speak(actions[command.verb].message);
+ return GO_CLEAROBJ;
+ case RESUME:
+ speak(actions[command.verb].message);
+ return GO_CLEAROBJ;
+ case FLY:
+ return fly(command.verb, command.obj);
+ case LISTEN:
+ speak(actions[command.verb].message);
+ return GO_CLEAROBJ;
+ // LCOV_EXCL_START
+ // This case should never happen - here only as placeholder
+ case PART:
+ return reservoir();
+ // LCOV_EXCL_STOP
+ case SEED:
+ return seed(command.verb, command.word[1].raw);
+ case WASTE:
+ return waste(command.verb,
+ (turn_t)atol(command.word[1].raw));
+ default: // LCOV_EXCL_LINE
+ BUG(TRANSITIVE_ACTION_VERB_EXCEEDS_GOTO_LIST); // LCOV_EXCL_LINE
+ }
+ case unknown:
+ /* Unknown verb, couldn't deduce object - might need hint */
+ sspeak(WHAT_DO, command.word[0].raw);
+ return GO_CHECKHINT;
+ default: // LCOV_EXCL_LINE
+ BUG(SPEECHPART_NOT_TRANSITIVE_OR_INTRANSITIVE_OR_UNKNOWN); // LCOV_EXCL_LINE
+ }
+}
+
+// end
diff --git a/actions1.c b/actions1.c
deleted file mode 100644
index 1b0086b..0000000
--- a/actions1.c
+++ /dev/null
@@ -1,586 +0,0 @@
-#include
-#include
-#include "misc.h"
-#include "main.h"
-#include "share.h"
-#include "funcs.h"
-
-/* This stuff was broken off as part of an effort to get the main program
- * to compile without running out of memory. We're called with a number
- * that says what label the caller wanted to "goto", and we return a
- * similar label number for the caller to "goto".
- */
-
-/* Analyse a verb. Remember what it was, go back for object if second word
- * unless verb is "say", which snarfs arbitrary second word. */
-
-int action(long STARTAT) {
- switch(STARTAT) {
- case 4000: goto L4000;
- case 4090: goto L4090;
- case 5000: goto L5000;
- }
- BUG(99);
-
-L4000: VERB=K;
- SPK=ACTSPK[VERB];
- if(WD2 > 0 && VERB != SAY) return(2800);
- if(VERB == SAY)OBJ=WD2;
- if(OBJ > 0) goto L4090;
-
-/* Analyse an intransitive verb (ie, no object given yet). */
-
- switch (VERB-1) { case 0: goto L8010; case 1: return(8000); case 2:
- return(8000); case 3: goto L8040; case 4: return(2009); case 5: goto L8040;
- case 6: goto L8070; case 7: goto L8080; case 8: return(8000); case
- 9: return(8000); case 10: return(2011); case 11: goto L9120; case 12:
- goto L9130; case 13: goto L8140; case 14: goto L9150; case 15:
- return(8000); case 16: return(8000); case 17: goto L8180; case 18:
- return(8000); case 19: goto L8200; case 20: return(8000); case 21:
- goto L9220; case 22: goto L9230; case 23: goto L8240; case 24:
- goto L8250; case 25: goto L8260; case 26: goto L8270; case 27:
- return(8000); case 28: return(8000); case 29: goto L8300; case 30:
- goto L8310; case 31: goto L8320; case 32: goto L8330; case 33:
- goto L8340; }
-/* TAKE DROP SAY OPEN NOTH LOCK ON OFF WAVE CALM
- * WALK KILL POUR EAT DRNK RUB TOSS QUIT FIND INVN
- * FEED FILL BLST SCOR FOO BRF READ BREK WAKE SUSP
- * RESU FLY LSTN ZZZZ */
- BUG(23);
-
-/* Analyse a transitive verb. */
-
-L4090: switch (VERB-1) { case 0: goto L9010; case 1: goto L9020; case 2: goto
- L9030; case 3: goto L9040; case 4: return(2009); case 5: goto L9040;
- case 6: goto L9070; case 7: goto L9080; case 8: goto L9090; case
- 9: return(2011); case 10: return(2011); case 11: goto L9120; case 12:
- goto L9130; case 13: goto L9140; case 14: goto L9150; case 15:
- goto L9160; case 16: goto L9170; case 17: return(2011); case 18:
- goto L9190; case 19: goto L9190; case 20: goto L9210; case 21:
- goto L9220; case 22: goto L9230; case 23: return(2011); case 24:
- return(2011); case 25: return(2011); case 26: goto L9270; case 27:
- goto L9280; case 28: goto L9290; case 29: return(2011); case 30:
- return(2011); case 31: goto L9320; case 32: return(2011); case 33:
- goto L8340; }
-/* TAKE DROP SAY OPEN NOTH LOCK ON OFF WAVE CALM
- * WALK KILL POUR EAT DRNK RUB TOSS QUIT FIND INVN
- * FEED FILL BLST SCOR FOO BRF READ BREK WAKE SUSP
- * RESU FLY LSTN ZZZZ */
- BUG(24);
-
-/* Analyse an object word. See if the thing is here, whether we've got a verb
- * yet, and so on. Object must be here unless verb is "find" or "invent(ory)"
- * (and no new verb yet to be analysed). Water and oil are also funny, since
- * they are never actually dropped at any location, but might be here inside
- * the bottle or urn or as a feature of the location. */
-
-L5000: OBJ=K;
- if(!HERE(K)) goto L5100;
-L5010: if(WD2 > 0) return(2800);
- if(VERB != 0) goto L4090;
- SETPRM(1,WD1,WD1X);
- RSPEAK(255);
- return(2600);
-
-L5100: if(K != GRATE) goto L5110;
- if(LOC == 1 || LOC == 4 || LOC == 7)K=DPRSSN;
- if(LOC > 9 && LOC < 15)K=ENTRNC;
- if(K != GRATE) return(8);
-L5110: if(K == DWARF && ATDWRF(LOC) > 0) goto L5010;
- if((LIQ(0) == K && HERE(BOTTLE)) || K == LIQLOC(LOC)) goto L5010;
- if(OBJ != OIL || !HERE(URN) || PROP[URN] == 0) goto L5120;
- OBJ=URN;
- goto L5010;
-L5120: if(OBJ != PLANT || !AT(PLANT2) || PROP[PLANT2] == 0) goto L5130;
- OBJ=PLANT2;
- goto L5010;
-L5130: if(OBJ != KNIFE || KNFLOC != LOC) goto L5140;
- KNFLOC= -1;
- SPK=116;
- return(2011);
-L5140: if(OBJ != ROD || !HERE(ROD2)) goto L5190;
- OBJ=ROD2;
- goto L5010;
-L5190: if((VERB == FIND || VERB == INVENT) && WD2 <= 0) goto L5010;
- SETPRM(1,WD1,WD1X);
- RSPEAK(256);
- return(2012);
-
-
-
-
-/* Routines for performing the various action verbs */
-
-/* Statement numbers in this section are 8000 for intransitive verbs, 9000 for
- * transitive, plus ten times the verb number. Many intransitive verbs use the
- * transitive code, and some verbs use code for other verbs, as noted below. */
-
-/* Carry, no object given yet. OK if only one object present. */
-
-L8010: if(ATLOC[LOC] == 0 || LINK[ATLOC[LOC]] != 0 || ATDWRF(LOC) > 0) return(8000);
- OBJ=ATLOC[LOC];
-
-/* Transitive carry/drop are in separate file. */
-
-L9010: return(carry());
-L9020: return(discard(false));
-
-/* SAY. Echo WD2 (or WD1 if no WD2 (SAY WHAT?, etc.).) Magic words override. */
-
-L9030: SETPRM(1,WD2,WD2X);
- if(WD2 <= 0)SETPRM(1,WD1,WD1X);
- if(WD2 > 0)WD1=WD2;
- I=VOCAB(WD1,-1);
- if(I == 62 || I == 65 || I == 71 || I == 2025 || I == 2034) goto L9035;
- RSPEAK(258);
- return(2012);
-
-L9035: WD2=0;
- OBJ=0;
- return(2630);
-
-/* Lock, unlock, no object given. Assume various things if present. */
-
-L8040: SPK=28;
- if(HERE(CLAM))OBJ=CLAM;
- if(HERE(OYSTER))OBJ=OYSTER;
- if(AT(DOOR))OBJ=DOOR;
- if(AT(GRATE))OBJ=GRATE;
- if(OBJ != 0 && HERE(CHAIN)) return(8000);
- if(HERE(CHAIN))OBJ=CHAIN;
- if(OBJ == 0) return(2011);
-
-/* Lock, unlock object. Special stuff for opening clam/oyster and for chain. */
-
-L9040: if(OBJ == CLAM || OBJ == OYSTER) goto L9046;
- if(OBJ == DOOR)SPK=111;
- if(OBJ == DOOR && PROP[DOOR] == 1)SPK=54;
- if(OBJ == CAGE)SPK=32;
- if(OBJ == KEYS)SPK=55;
- if(OBJ == GRATE || OBJ == CHAIN)SPK=31;
- if(SPK != 31 || !HERE(KEYS)) return(2011);
- if(OBJ == CHAIN) goto L9048;
- if(!CLOSNG) goto L9043;
- K=130;
- if(!PANIC)CLOCK2=15;
- PANIC=true;
- return(2010);
-
-L9043: K=34+PROP[GRATE];
- PROP[GRATE]=1;
- if(VERB == LOCK)PROP[GRATE]=0;
- K=K+2*PROP[GRATE];
- return(2010);
-
-/* Clam/Oyster. */
-L9046: K=0;
- if(OBJ == OYSTER)K=1;
- SPK=124+K;
- if(TOTING(OBJ))SPK=120+K;
- if(!TOTING(TRIDNT))SPK=122+K;
- if(VERB == LOCK)SPK=61;
- if(SPK != 124) return(2011);
- DSTROY(CLAM);
- DROP(OYSTER,LOC);
- DROP(PEARL,105);
- return(2011);
-
-/* Chain. */
-L9048: if(VERB == LOCK) goto L9049;
- SPK=171;
- if(PROP[BEAR] == 0)SPK=41;
- if(PROP[CHAIN] == 0)SPK=37;
- if(SPK != 171) return(2011);
- PROP[CHAIN]=0;
- FIXED[CHAIN]=0;
- if(PROP[BEAR] != 3)PROP[BEAR]=2;
- FIXED[BEAR]=2-PROP[BEAR];
- return(2011);
-
-L9049: SPK=172;
- if(PROP[CHAIN] != 0)SPK=34;
- if(LOC != PLAC[CHAIN])SPK=173;
- if(SPK != 172) return(2011);
- PROP[CHAIN]=2;
- if(TOTING(CHAIN))DROP(CHAIN,LOC);
- FIXED[CHAIN]= -1;
- return(2011);
-
-/* Light. Applicable only to lamp and urn. */
-
-L8070: if(HERE(LAMP) && PROP[LAMP] == 0 && LIMIT >= 0)OBJ=LAMP;
- if(HERE(URN) && PROP[URN] == 1)OBJ=OBJ*100+URN;
- if(OBJ == 0 || OBJ > 100) return(8000);
-
-L9070: if(OBJ == URN) goto L9073;
- if(OBJ != LAMP) return(2011);
- SPK=184;
- if(LIMIT < 0) return(2011);
- PROP[LAMP]=1;
- RSPEAK(39);
- if(WZDARK) return(2000);
- return(2012);
-
-L9073: SPK=38;
- if(PROP[URN] == 0) return(2011);
- SPK=209;
- PROP[URN]=2;
- return(2011);
-
-/* Extinguish. Lamp, urn, dragon/volcano (nice try). */
-
-L8080: if(HERE(LAMP) && PROP[LAMP] == 1)OBJ=LAMP;
- if(HERE(URN) && PROP[URN] == 2)OBJ=OBJ*100+URN;
- if(OBJ == 0 || OBJ > 100) return(8000);
-
-L9080: if(OBJ == URN) goto L9083;
- if(OBJ == LAMP) goto L9086;
- if(OBJ == DRAGON || OBJ == VOLCAN)SPK=146;
- return(2011);
-
-L9083: PROP[URN]=PROP[URN]/2;
- SPK=210;
- return(2011);
-
-L9086: PROP[LAMP]=0;
- RSPEAK(40);
- if(DARK(0))RSPEAK(16);
- return(2012);
-
-/* Wave. No effect unless waving rod at fissure or at bird. */
-
-L9090: if((!TOTING(OBJ)) && (OBJ != ROD || !TOTING(ROD2)))SPK=29;
- if(OBJ != ROD || !TOTING(OBJ) || (!HERE(BIRD) && (CLOSNG || !AT(FISSUR))))
- return(2011);
- if(HERE(BIRD))SPK=206+MOD(PROP[BIRD],2);
- if(SPK == 206 && LOC == PLACE[STEPS] && PROP[JADE] < 0) goto L9094;
- if(CLOSED) return(18999);
- if(CLOSNG || !AT(FISSUR)) return(2011);
- if(HERE(BIRD))RSPEAK(SPK);
- PROP[FISSUR]=1-PROP[FISSUR];
- PSPEAK(FISSUR,2-PROP[FISSUR]);
- return(2012);
-
-L9094: DROP(JADE,LOC);
- PROP[JADE]=0;
- TALLY=TALLY-1;
- SPK=208;
- return(2011);
-
-/* Attack also moved into separate module. */
-
-L9120: return(attack());
-
-/* Pour. If no object, or object is bottle, assume contents of bottle.
- * special tests for pouring water or oil on plant or rusty door. */
-
-L9130: if(OBJ == BOTTLE || OBJ == 0)OBJ=LIQ(0);
- if(OBJ == 0) return(8000);
- if(!TOTING(OBJ)) return(2011);
- SPK=78;
- if(OBJ != OIL && OBJ != WATER) return(2011);
- if(HERE(URN) && PROP[URN] == 0) goto L9134;
- PROP[BOTTLE]=1;
- PLACE[OBJ]=0;
- SPK=77;
- if(!(AT(PLANT) || AT(DOOR))) return(2011);
-
- if(AT(DOOR)) goto L9132;
- SPK=112;
- if(OBJ != WATER) return(2011);
- PSPEAK(PLANT,PROP[PLANT]+3);
- PROP[PLANT]=MOD(PROP[PLANT]+1,3);
- PROP[PLANT2]=PROP[PLANT];
- K=NUL;
- return(8);
-
-L9132: PROP[DOOR]=0;
- if(OBJ == OIL)PROP[DOOR]=1;
- SPK=113+PROP[DOOR];
- return(2011);
-
-L9134: OBJ=URN;
- goto L9220;
-
-/* Eat. Intransitive: assume food if present, else ask what. Transitive: food
- * ok, some things lose appetite, rest are ridiculous. */
-
-L8140: if(!HERE(FOOD)) return(8000);
-L8142: DSTROY(FOOD);
- SPK=72;
- return(2011);
-
-L9140: if(OBJ == FOOD) goto L8142;
- if(OBJ == BIRD || OBJ == SNAKE || OBJ == CLAM || OBJ == OYSTER || OBJ ==
- DWARF || OBJ == DRAGON || OBJ == TROLL || OBJ == BEAR || OBJ ==
- OGRE)SPK=71;
- return(2011);
-
-/* Drink. If no object, assume water and look for it here. If water is in
- * the bottle, drink that, else must be at a water loc, so drink stream. */
-
-L9150: if(OBJ == 0 && LIQLOC(LOC) != WATER && (LIQ(0) != WATER || !HERE(BOTTLE)))
- return(8000);
- if(OBJ == BLOOD) goto L9153;
- if(OBJ != 0 && OBJ != WATER)SPK=110;
- if(SPK == 110 || LIQ(0) != WATER || !HERE(BOTTLE)) return(2011);
- PROP[BOTTLE]=1;
- PLACE[WATER]=0;
- SPK=74;
- return(2011);
-
-L9153: DSTROY(BLOOD);
- PROP[DRAGON]=2;
- OBJSND[BIRD]=OBJSND[BIRD]+3;
- SPK=240;
- return(2011);
-
-/* Rub. Yields various snide remarks except for lit urn. */
-
-L9160: if(OBJ != LAMP)SPK=76;
- if(OBJ != URN || PROP[URN] != 2) return(2011);
- DSTROY(URN);
- DROP(AMBER,LOC);
- PROP[AMBER]=1;
- TALLY=TALLY-1;
- DROP(CAVITY,LOC);
- SPK=216;
- return(2011);
-
-/* Throw moved into separate module. */
-
-L9170: return(throw());
-
-/* Quit. Intransitive only. Verify intent and exit if that's what he wants. */
-
-L8180: if(YES(22,54,54)) score(1);
- return(2012);
-
-/* Find. Might be carrying it, or it might be here. Else give caveat. */
-
-L9190: if(AT(OBJ) || (LIQ(0) == OBJ && AT(BOTTLE)) || K == LIQLOC(LOC) || (OBJ ==
- DWARF && ATDWRF(LOC) > 0))SPK=94;
- if(CLOSED)SPK=138;
- if(TOTING(OBJ))SPK=24;
- return(2011);
-
-/* Inventory. If object, treat same as find. Else report on current burden. */
-
-L8200: SPK=98;
- /* 8201 */ for (I=1; I<=100; I++) {
- if(I == BEAR || !TOTING(I)) goto L8201;
- if(SPK == 98)RSPEAK(99);
- BLKLIN=false;
- PSPEAK(I,-1);
- BLKLIN=true;
- SPK=0;
-L8201: /*etc*/ ;
- } /* end loop */
- if(TOTING(BEAR))SPK=141;
- return(2011);
-
-/* Feed/fill are in the other module. */
-
-L9210: return(feed());
-L9220: return(fill());
-
-/* Blast. No effect unless you've got dynamite, which is a neat trick! */
-
-L9230: if(PROP[ROD2] < 0 || !CLOSED) return(2011);
- BONUS=133;
- if(LOC == 115)BONUS=134;
- if(HERE(ROD2))BONUS=135;
- RSPEAK(BONUS);
- score(0);
-
-/* Score. Call scoring routine but tell it to return. */
-
-L8240: score(-1);
- SETPRM(1,SCORE,MXSCOR);
- SETPRM(3,TURNS,TURNS);
- RSPEAK(259);
- return(2012);
-
-/* FEE FIE FOE FOO (AND FUM). ADVANCE TO NEXT STATE IF GIVEN IN PROPER ORDER.
- * LOOK UP WD1 IN SECTION 3 OF VOCAB TO DETERMINE WHICH WORD WE'VE GOT. LAST
- * WORD ZIPS THE EGGS BACK TO THE GIANT ROOM (UNLESS ALREADY THERE). */
-
-L8250: K=VOCAB(WD1,3);
- SPK=42;
- if(FOOBAR == 1-K) goto L8252;
- if(FOOBAR != 0)SPK=151;
- return(2011);
-
-L8252: FOOBAR=K;
- if(K != 4) return(2009);
- FOOBAR=0;
- if(PLACE[EGGS] == PLAC[EGGS] || (TOTING(EGGS) && LOC == PLAC[EGGS]))
- return(2011);
-/* Bring back troll if we steal the eggs back from him before crossing. */
- if(PLACE[EGGS] == 0 && PLACE[TROLL] == 0 && PROP[TROLL] ==
- 0)PROP[TROLL]=1;
- K=2;
- if(HERE(EGGS))K=1;
- if(LOC == PLAC[EGGS])K=0;
- MOVE(EGGS,PLAC[EGGS]);
- PSPEAK(EGGS,K);
- return(2012);
-
-/* Brief. Intransitive only. Suppress long descriptions after first time. */
-
-L8260: SPK=156;
- ABBNUM=10000;
- DETAIL=3;
- return(2011);
-
-/* Read. Print stuff based on objtxt. Oyster (?) is special case. */
-
-L8270: for (I=1; I<=100; I++) {
- if(HERE(I) && OBJTXT[I] != 0 && PROP[I] >= 0)OBJ=OBJ*100+I;
- } /* end loop */
- if(OBJ > 100 || OBJ == 0 || DARK(0)) return(8000);
-
-L9270: if(DARK(0)) goto L5190;
- if(OBJTXT[OBJ] == 0 || PROP[OBJ] < 0) return(2011);
- if(OBJ == OYSTER && !CLSHNT) goto L9275;
- PSPEAK(OBJ,OBJTXT[OBJ]+PROP[OBJ]);
- return(2012);
-
-L9275: CLSHNT=YES(192,193,54);
- return(2012);
-
-/* Break. Only works for mirror in repository and, of course, the vase. */
-
-L9280: if(OBJ == MIRROR)SPK=148;
- if(OBJ == VASE && PROP[VASE] == 0) goto L9282;
- if(OBJ != MIRROR || !CLOSED) return(2011);
- SPK=197;
- return(18999);
-
-L9282: SPK=198;
- if(TOTING(VASE))DROP(VASE,LOC);
- PROP[VASE]=2;
- FIXED[VASE]= -1;
- return(2011);
-
-/* Wake. Only use is to disturb the dwarves. */
-
-L9290: if(OBJ != DWARF || !CLOSED) return(2011);
- SPK=199;
- return(18999);
-
-/* Suspend. Offer to save things in a file, but charging some points (so
- * can't win by using saved games to retry battles or to start over after
- * learning zzword). */
-
-L8300: SPK=201;
- RSPEAK(260);
- if(!YES(200,54,54)) return(2012);
- SAVED=SAVED+5;
- KK= -1;
-
-/* This next part is shared with the "resume" code. The two cases are
- * distinguished by the value of kk (-1 for suspend, +1 for resume). */
-
-L8305: DATIME(I,K);
- K=I+650*K;
- SAVWRD(KK,K);
- K=VRSION;
- SAVWRD(0,K);
- if(K != VRSION) goto L8312;
-/* Herewith are all the variables whose values can change during a game,
- * omitting a few (such as I, J, ATTACK) whose values between turns are
- * irrelevant and some whose values when a game is
- * suspended or resumed are guaranteed to match. If unsure whether a value
- * needs to be saved, include it. Overkill can't hurt. Pad the last savwds
- * with junk variables to bring it up to 7 values. */
- SAVWDS(ABBNUM,BLKLIN,BONUS,CLOCK1,CLOCK2,CLOSED,CLOSNG);
- SAVWDS(DETAIL,DFLAG,DKILL,DTOTAL,FOOBAR,HOLDNG,IWEST);
- SAVWDS(KNFLOC,LIMIT,LL,LMWARN,LOC,NEWLOC,NUMDIE);
- SAVWDS(OBJ,OLDLC2,OLDLOC,OLDOBJ,PANIC,SAVED,SETUP);
- SAVWDS(SPK,TALLY,THRESH,TRNDEX,TRNLUZ,TURNS,OBJTXT[OYSTER]);
- SAVWDS(VERB,WD1,WD1X,WD2,WZDARK,ZZWORD,OBJSND[BIRD]);
- SAVWDS(OBJTXT[SIGN],CLSHNT,NOVICE,K,K,K,K);
- SAVARR(ABB,LOCSIZ);
- SAVARR(ATLOC,LOCSIZ);
- SAVARR(DLOC,6);
- SAVARR(DSEEN,6);
- SAVARR(FIXED,100);
- SAVARR(HINTED,HNTSIZ);
- SAVARR(HINTLC,HNTSIZ);
- SAVARR(LINK,200);
- SAVARR(ODLOC,6);
- SAVARR(PLACE,100);
- SAVARR(PROP,100);
- SAVWRD(KK,K);
- if(K != 0) goto L8318;
- K=NUL;
- ZZWORD=RNDVOC(3,ZZWORD-MESH*2)+MESH*2;
- if(KK > 0) return(8);
- RSPEAK(266);
- exit(0);
-
-/* Resume. Read a suspended game back from a file. */
-
-L8310: KK=1;
- if(LOC == 1 && ABB[1] == 1) goto L8305;
- RSPEAK(268);
- if(!YES(200,54,54)) return(2012);
- goto L8305;
-
-L8312: SETPRM(1,K/10,MOD(K,10));
- SETPRM(3,VRSION/10,MOD(VRSION,10));
- RSPEAK(269);
- return(2000);
-
-L8318: RSPEAK(270);
- exit(0);
-
-/* Fly. Snide remarks unless hovering rug is here. */
-
-L8320: if(PROP[RUG] != 2)SPK=224;
- if(!HERE(RUG))SPK=225;
- if(SPK/2 == 112) return(2011);
- OBJ=RUG;
-
-L9320: if(OBJ != RUG) return(2011);
- SPK=223;
- if(PROP[RUG] != 2) return(2011);
- OLDLC2=OLDLOC;
- OLDLOC=LOC;
- NEWLOC=PLACE[RUG]+FIXED[RUG]-LOC;
- SPK=226;
- if(PROP[SAPPH] >= 0)SPK=227;
- RSPEAK(SPK);
- return(2);
-
-/* Listen. Intransitive only. Print stuff based on objsnd/locsnd. */
-
-L8330: SPK=228;
- K=LOCSND[LOC];
- if(K == 0) goto L8332;
- RSPEAK(IABS(K));
- if(K < 0) return(2012);
- SPK=0;
-L8332: SETPRM(1,ZZWORD-MESH*2,0);
- /* 8335 */ for (I=1; I<=100; I++) {
- if(!HERE(I) || OBJSND[I] == 0 || PROP[I] < 0) goto L8335;
- PSPEAK(I,OBJSND[I]+PROP[I]);
- SPK=0;
- if(I == BIRD && OBJSND[I]+PROP[I] == 8)DSTROY(BIRD);
-L8335: /*etc*/ ;
- } /* end loop */
- return(2011);
-
-/* Z'ZZZ (word gets recomputed at startup; different each game). */
-
-L8340: if(!AT(RESER) && LOC != FIXED[RESER]-1) return(2011);
- PSPEAK(RESER,PROP[RESER]+1);
- PROP[RESER]=1-PROP[RESER];
- if(AT(RESER)) return(2012);
- OLDLC2=LOC;
- NEWLOC=0;
- RSPEAK(241);
- return(2);
-
-}
diff --git a/actions2.c b/actions2.c
deleted file mode 100644
index 4385ad9..0000000
--- a/actions2.c
+++ /dev/null
@@ -1,349 +0,0 @@
-#include "misc.h"
-#include "main.h"
-#include "share.h"
-#include "funcs.h"
-
-/* Carry an object. Special cases for bird and cage (if bird in cage, can't
- * take one without the other). Liquids also special, since they depend on
- * status of bottle. Also various side effects, etc. */
-
-int carry(void) {
- if(TOTING(OBJ)) return(2011);
- SPK=25;
- if(OBJ == PLANT && PROP[PLANT] <= 0)SPK=115;
- if(OBJ == BEAR && PROP[BEAR] == 1)SPK=169;
- if(OBJ == CHAIN && PROP[BEAR] != 0)SPK=170;
- if(OBJ == URN)SPK=215;
- if(OBJ == CAVITY)SPK=217;
- if(OBJ == BLOOD)SPK=239;
- if(OBJ == RUG && PROP[RUG] == 2)SPK=222;
- if(OBJ == SIGN)SPK=196;
- if(OBJ != MESSAG) goto L9011;
- SPK=190;
- DSTROY(MESSAG);
-L9011: if(FIXED[OBJ] != 0) return(2011);
- if(OBJ != WATER && OBJ != OIL) goto L9017;
- K=OBJ;
- OBJ=BOTTLE;
- if(HERE(BOTTLE) && LIQ(0) == K) goto L9017;
- if(TOTING(BOTTLE) && PROP[BOTTLE] == 1) return(fill());
- if(PROP[BOTTLE] != 1)SPK=105;
- if(!TOTING(BOTTLE))SPK=104;
- return(2011);
-L9017: SPK=92;
- if(HOLDNG >= 7) return(2011);
- if(OBJ != BIRD || PROP[BIRD] == 1 || -1-PROP[BIRD] == 1) goto L9014;
- if(PROP[BIRD] == 2) goto L9015;
- if(!TOTING(CAGE))SPK=27;
- if(TOTING(ROD))SPK=26;
- if(SPK/2 == 13) return(2011);
- PROP[BIRD]=1;
-L9014: if((OBJ == BIRD || OBJ == CAGE) && (PROP[BIRD] == 1 || -1-PROP[BIRD] ==
- 1))CARRY(BIRD+CAGE-OBJ,LOC);
- CARRY(OBJ,LOC);
- K=LIQ(0);
- if(OBJ == BOTTLE && K != 0)PLACE[K]= -1;
- if(!GSTONE(OBJ) || PROP[OBJ] == 0) return(2009);
- PROP[OBJ]=0;
- PROP[CAVITY]=1;
- return(2009);
-
-L9015: SPK=238;
- DSTROY(BIRD);
- return(2011);
-}
-
-/* Discard object. "Throw" also comes here for most objects. Special cases for
- * bird (might attack snake or dragon) and cage (might contain bird) and vase.
- * Drop coins at vending machine for extra batteries. */
-
-int discard(bool just_do_it) {
- if(just_do_it) goto L9021;
- if(TOTING(ROD2) && OBJ == ROD && !TOTING(ROD))OBJ=ROD2;
- if(!TOTING(OBJ)) return(2011);
- if(OBJ != BIRD || !HERE(SNAKE)) goto L9023;
- RSPEAK(30);
- if(CLOSED) return(19000);
- DSTROY(SNAKE);
-/* SET PROP FOR USE BY TRAVEL OPTIONS */
- PROP[SNAKE]=1;
-L9021: K=LIQ(0);
- if(K == OBJ)OBJ=BOTTLE;
- if(OBJ == BOTTLE && K != 0)PLACE[K]=0;
- if(OBJ == CAGE && PROP[BIRD] == 1)DROP(BIRD,LOC);
- DROP(OBJ,LOC);
- if(OBJ != BIRD) return(2012);
- PROP[BIRD]=0;
- if(FOREST(LOC))PROP[BIRD]=2;
- return(2012);
-
-L9023: if(!(GSTONE(OBJ) && AT(CAVITY) && PROP[CAVITY] != 0)) goto L9024;
- RSPEAK(218);
- PROP[OBJ]=1;
- PROP[CAVITY]=0;
- if(!HERE(RUG) || !((OBJ == EMRALD && PROP[RUG] != 2) || (OBJ == RUBY &&
- PROP[RUG] == 2))) goto L9021;
- SPK=219;
- if(TOTING(RUG))SPK=220;
- if(OBJ == RUBY)SPK=221;
- RSPEAK(SPK);
- if(SPK == 220) goto L9021;
- K=2-PROP[RUG];
- PROP[RUG]=K;
- if(K == 2)K=PLAC[SAPPH];
- MOVE(RUG+100,K);
- goto L9021;
-
-L9024: if(OBJ != COINS || !HERE(VEND)) goto L9025;
- DSTROY(COINS);
- DROP(BATTER,LOC);
- PSPEAK(BATTER,0);
- return(2012);
-
-L9025: if(OBJ != BIRD || !AT(DRAGON) || PROP[DRAGON] != 0) goto L9026;
- RSPEAK(154);
- DSTROY(BIRD);
- PROP[BIRD]=0;
- return(2012);
-
-L9026: if(OBJ != BEAR || !AT(TROLL)) goto L9027;
- RSPEAK(163);
- MOVE(TROLL,0);
- MOVE(TROLL+100,0);
- MOVE(TROLL2,PLAC[TROLL]);
- MOVE(TROLL2+100,FIXD[TROLL]);
- JUGGLE(CHASM);
- PROP[TROLL]=2;
- goto L9021;
-
-L9027: if(OBJ == VASE && LOC != PLAC[PILLOW]) goto L9028;
- RSPEAK(54);
- goto L9021;
-
-L9028: PROP[VASE]=2;
- if(AT(PILLOW))PROP[VASE]=0;
- PSPEAK(VASE,PROP[VASE]+1);
- if(PROP[VASE] != 0)FIXED[VASE]= -1;
- goto L9021;
-}
-
-/* Attack. Assume target if unambiguous. "Throw" also links here. Attackable
- * objects fall into two categories: enemies (snake, dwarf, etc.) and others
- * (bird, clam, machine). Ambiguous if 2 enemies, or no enemies but 2 others. */
-
-int attack() {
- I=ATDWRF(LOC);
- if(OBJ != 0) goto L9124;
- if(I > 0)OBJ=DWARF;
- if(HERE(SNAKE))OBJ=OBJ*100+SNAKE;
- if(AT(DRAGON) && PROP[DRAGON] == 0)OBJ=OBJ*100+DRAGON;
- if(AT(TROLL))OBJ=OBJ*100+TROLL;
- if(AT(OGRE))OBJ=OBJ*100+OGRE;
- if(HERE(BEAR) && PROP[BEAR] == 0)OBJ=OBJ*100+BEAR;
- if(OBJ > 100) return(8000);
- if(OBJ != 0) goto L9124;
-/* CAN'T ATTACK BIRD OR MACHINE BY THROWING AXE. */
- if(HERE(BIRD) && VERB != THROW)OBJ=BIRD;
- if(HERE(VEND) && VERB != THROW)OBJ=OBJ*100+VEND;
-/* CLAM AND OYSTER BOTH TREATED AS CLAM FOR INTRANSITIVE CASE; NO HARM DONE. */
- if(HERE(CLAM) || HERE(OYSTER))OBJ=100*OBJ+CLAM;
- if(OBJ > 100) return(8000);
-L9124: if(OBJ != BIRD) goto L9125;
- SPK=137;
- if(CLOSED) return(2011);
- DSTROY(BIRD);
- PROP[BIRD]=0;
- SPK=45;
-L9125: if(OBJ != VEND) goto L9126;
- PSPEAK(VEND,PROP[VEND]+2);
- PROP[VEND]=3-PROP[VEND];
- return(2012);
-
-L9126: if(OBJ == 0)SPK=44;
- if(OBJ == CLAM || OBJ == OYSTER)SPK=150;
- if(OBJ == SNAKE)SPK=46;
- if(OBJ == DWARF)SPK=49;
- if(OBJ == DWARF && CLOSED) return(19000);
- if(OBJ == DRAGON)SPK=167;
- if(OBJ == TROLL)SPK=157;
- if(OBJ == OGRE)SPK=203;
- if(OBJ == OGRE && I > 0) goto L9128;
- if(OBJ == BEAR)SPK=165+(PROP[BEAR]+1)/2;
- if(OBJ != DRAGON || PROP[DRAGON] != 0) return(2011);
-/* Fun stuff for dragon. If he insists on attacking it, win! Set PROP to dead,
- * move dragon to central loc (still fixed), move rug there (not fixed), and
- * move him there, too. Then do a null motion to get new description. */
- RSPEAK(49);
- VERB=0;
- OBJ=0;
- GETIN(WD1,WD1X,WD2,WD2X);
- if(WD1 != MAKEWD(25) && WD1 != MAKEWD(250519)) return(2607);
- PSPEAK(DRAGON,3);
- PROP[DRAGON]=1;
- PROP[RUG]=0;
- K=(PLAC[DRAGON]+FIXD[DRAGON])/2;
- MOVE(DRAGON+100,-1);
- MOVE(RUG+100,0);
- MOVE(DRAGON,K);
- MOVE(RUG,K);
- DROP(BLOOD,K);
- for (OBJ=1; OBJ<=100; OBJ++) {
- if(PLACE[OBJ] == PLAC[DRAGON] || PLACE[OBJ] == FIXD[DRAGON])MOVE(OBJ,K);
- /*etc*/ ;
- } /* end loop */
- LOC=K;
- K=NUL;
- return(8);
-
-L9128: RSPEAK(SPK);
- RSPEAK(6);
- DSTROY(OGRE);
- K=0;
- /* 9129 */ for (I=1; I<=5; I++) {
- if(DLOC[I] != LOC) goto L9129;
- K=K+1;
- DLOC[I]=61;
- DSEEN[I]=false;
-L9129: /*etc*/ ;
- } /* end loop */
- SPK=SPK+1+1/K;
- return(2011);
-}
-
-/* Throw. Same as discard unless axe. Then same as attack except ignore bird,
- * and if dwarf is present then one might be killed. (Only way to do so!)
- * Axe also special for dragon, bear, and troll. Treasures special for troll. */
-
-int throw() {
- if(TOTING(ROD2) && OBJ == ROD && !TOTING(ROD))OBJ=ROD2;
- if(!TOTING(OBJ)) return(2011);
- if(OBJ >= 50 && OBJ <= MAXTRS && AT(TROLL)) goto L9178;
- if(OBJ == FOOD && HERE(BEAR)) goto L9177;
- if(OBJ != AXE) return(discard(false));
- I=ATDWRF(LOC);
- if(I > 0) goto L9172;
- SPK=152;
- if(AT(DRAGON) && PROP[DRAGON] == 0) goto L9175;
- SPK=158;
- if(AT(TROLL)) goto L9175;
- SPK=203;
- if(AT(OGRE)) goto L9175;
- if(HERE(BEAR) && PROP[BEAR] == 0) goto L9176;
- OBJ=0;
- return(attack());
-
-L9172: SPK=48;
- if(RAN(7) < DFLAG) goto L9175;
- DSEEN[I]=false;
- DLOC[I]=0;
- SPK=47;
- DKILL=DKILL+1;
- if(DKILL == 1)SPK=149;
-L9175: RSPEAK(SPK);
- DROP(AXE,LOC);
- K=NUL;
- return(8);
-
-/* This'll teach him to throw the axe at the bear! */
-L9176: SPK=164;
- DROP(AXE,LOC);
- FIXED[AXE]= -1;
- PROP[AXE]=1;
- JUGGLE(BEAR);
- return(2011);
-
-/* But throwing food is another story. */
-L9177: OBJ=BEAR;
- return(feed());
-
-L9178: SPK=159;
-/* Snarf a treasure for the troll. */
- DROP(OBJ,0);
- MOVE(TROLL,0);
- MOVE(TROLL+100,0);
- DROP(TROLL2,PLAC[TROLL]);
- DROP(TROLL2+100,FIXD[TROLL]);
- JUGGLE(CHASM);
- return(2011);
-}
-
-/* Feed. If bird, no seed. Snake, dragon, troll: quip. If dwarf, make him
- * mad. Bear, special. */
-
-int feed() {
- if(OBJ != BIRD) goto L9212;
- SPK=100;
- return(2011);
-
-L9212: if(OBJ != SNAKE && OBJ != DRAGON && OBJ != TROLL) goto L9213;
- SPK=102;
- if(OBJ == DRAGON && PROP[DRAGON] != 0)SPK=110;
- if(OBJ == TROLL)SPK=182;
- if(OBJ != SNAKE || CLOSED || !HERE(BIRD)) return(2011);
- SPK=101;
- DSTROY(BIRD);
- PROP[BIRD]=0;
- return(2011);
-
-L9213: if(OBJ != DWARF) goto L9214;
- if(!HERE(FOOD)) return(2011);
- SPK=103;
- DFLAG=DFLAG+2;
- return(2011);
-
-L9214: if(OBJ != BEAR) goto L9215;
- if(PROP[BEAR] == 0)SPK=102;
- if(PROP[BEAR] == 3)SPK=110;
- if(!HERE(FOOD)) return(2011);
- DSTROY(FOOD);
- PROP[BEAR]=1;
- FIXED[AXE]=0;
- PROP[AXE]=0;
- SPK=168;
- return(2011);
-
-L9215: if(OBJ != OGRE) goto L9216;
- if(HERE(FOOD))SPK=202;
- return(2011);
-
-L9216: SPK=14;
- return(2011);
-}
-
-/* Fill. Bottle or urn must be empty, and liquid available. (Vase is nasty.) */
-
-int fill() {
- if(OBJ == VASE) goto L9222;
- if(OBJ == URN) goto L9224;
- if(OBJ != 0 && OBJ != BOTTLE) return(2011);
- if(OBJ == 0 && !HERE(BOTTLE)) return(8000);
- SPK=107;
- if(LIQLOC(LOC) == 0)SPK=106;
- if(HERE(URN) && PROP[URN] != 0)SPK=214;
- if(LIQ(0) != 0)SPK=105;
- if(SPK != 107) return(2011);
- PROP[BOTTLE]=MOD(COND[LOC],4)/2*2;
- K=LIQ(0);
- if(TOTING(BOTTLE))PLACE[K]= -1;
- if(K == OIL)SPK=108;
- return(2011);
-
-L9222: SPK=29;
- if(LIQLOC(LOC) == 0)SPK=144;
- if(LIQLOC(LOC) == 0 || !TOTING(VASE)) return(2011);
- RSPEAK(145);
- PROP[VASE]=2;
- FIXED[VASE]= -1;
- return(discard(true));
-
-L9224: SPK=213;
- if(PROP[URN] != 0) return(2011);
- SPK=144;
- K=LIQ(0);
- if(K == 0 || !HERE(BOTTLE)) return(2011);
- PLACE[K]=0;
- PROP[BOTTLE]=1;
- if(K == OIL)PROP[URN]=1;
- SPK=211+PROP[URN];
- return(2011);
-}
diff --git a/advent.adoc b/advent.adoc
new file mode 100644
index 0000000..a064d1a
--- /dev/null
+++ b/advent.adoc
@@ -0,0 +1,93 @@
+= advent(6) =
+:doctype: manpage
+// SPDX-FileCopyrightText: (C) Eric S. Raymond
+// SPDX-License-Identifier: CC-BY-4.0
+
+// batchspell: add advent logfile savefile roleplaying Gillogly PDP Ctrl-D
+// batchspell: add EOF autosave endianness wumpus zork nethack
+
+== NAME ==
+advent - Colossal Cave Adventure
+
+== SYNOPSIS ==
+*advent* [-l logfile] [-o] [-r savefile] [-a savefile] [script...]
+
+== DESCRIPTION ==
+The original Colossal Cave Adventure from 1976-1977 was the origin of all
+later text adventures, dungeon-crawl (computer) games, and computer-hosted
+roleplaying games.
+
+This is the last version released by Crowther & Woods, its original
+authors, in 1995. It has been known as "adventure 2.5" and "430-point
+adventure". To learn more about the changes since the 350-point
+original, type 'news' at the command prompt.
+
+There is an 'adventure' in the BSD games package that is a C port by
+Jim Gillogly of the 1977 version. To avoid a name collision, this game
+builds as 'advent', reflecting the fact that the PDP-10 on which the
+game originally ran limited filenames to 6 characters.
+
+This version is released as open source with the permission and
+encouragement of the original authors.
+
+Unlike the original, this version has a command prompt and supports
+use of your arrow keys to edit your command line in place. Basic
+Emacs keystrokes are supported, and your up/down arrows access a
+command history.
+
+Some minor bugs and message typos have been fixed. Otherwise, the
+"version" command is almost the only way to tell you're not running
+Don's 1977 version until you get to the new cave sections added for
+2.5.
+
+To exit the game, type Ctrl-D (EOF).
+
+There have been no gameplay changes.
+
+== OPTIONS ==
+
+-l:: Log commands to specified file.
+
+-r:: Restore game from specified save file
+
+-a:: Load from specified save file and autosave to it on exit or signal.
+
+-o:: Old-style. Reverts some minor cosmetic fixes in game
+ messages. Restores original interface, no prompt or line editing.
+ Also ignores new-school one-letter commands l, x, g, z, i. Also
+ case-smashes and truncates unrecognized text when echoed.
+
+Normally, game input is taken from standard input. If script file
+arguments are given, input is taken from them instead. A script file
+argument of '-' is taken as a directive to read from standard input.
+
+== BUGS ==
+
+The binary save file format is fragile, dependent on your machine's
+endianness, and unlikely to survive through version bumps. There are
+version and endianness checks when attempting to restore from a save.
+
+The input parser was the first attempt *ever* at natural-language
+parsing in a game and has some known deficiencies. While later text
+adventures distinguished between transitive and intransitive verbs,
+Adventure's grammar distinguishes only between motion and action
+verbs. Motions are always immediate in their behavior, so both ACTION
+MOTION and MOTION ACTION (and even MOTION NOUN and MOTION MOTION) are
+invariably equivalent to MOTION (thus GO NORTH means NORTH and JUMP
+DOWN means JUMP). Whereas, with actions and nouns, the parser collects
+words until it's seen one of each, and then dispatches; if it reaches
+the end of the command without seeing a noun, it'll dispatch an
+"intransitive" action. This makes ACTION1 ACTION2 equivalent to
+ACTION2 (thus TAKE INVENTORY means INVENTORY), and NOUN ACTION
+equivalent to ACTION NOUN.
+
+Thus you get anomalies like "eat building" interpreted as a command
+to move to the building. These should not be reported as bugs; instead,
+consider them historical curiosities.
+
+== REPORTING BUGS ==
+Report bugs to Eric S. Raymond . The project page is
+at http://catb.org/~esr/open-adventure
+
+== SEE ALSO ==
+wumpus(6), adventure(6), zork(6), rogue(6), nethack(6).
diff --git a/advent.desktop b/advent.desktop
new file mode 100644
index 0000000..1cc38f8
--- /dev/null
+++ b/advent.desktop
@@ -0,0 +1,10 @@
+# SPDX-FileCopyrightText: (C) Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+[Desktop Entry]
+Type=Application
+Name=Open Adventure
+Comment=Colossal Cave Adventure, the 1995 430-point version
+Icon=advent
+Exec=advent
+Terminal=true
+Categories=Game;AdventureGame;ConsoleOnly
diff --git a/advent.h b/advent.h
new file mode 100644
index 0000000..fa0767b
--- /dev/null
+++ b/advent.h
@@ -0,0 +1,359 @@
+/*
+ * Dungeon types and macros.
+ *
+ * SPDX-FileCopyrightText: (C) 1977, 2005 by Will Crowther and Don Woods
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+#include
+#include
+#include
+#include
+#include
+
+#include "dungeon.h"
+
+/* LCG PRNG parameters tested against
+ * Knuth vol. 2. by the original authors */
+#define LCG_A 1093L
+#define LCG_C 221587L
+#define LCG_M 1048576L
+
+#define LINESIZE 1024
+#define TOKLEN 5 // # outputting characters in a token */
+#define PIRATE NDWARVES // must be NDWARVES-1 when zero-origin
+#define DALTLC LOC_NUGGET // alternate dwarf location
+#define INVLIMIT 7 // inventory limit (# of objects)
+#define INTRANSITIVE -1 // illegal object number
+#define GAMELIMIT 330 // base limit of turns
+#define NOVICELIMIT 1000 // limit of turns for novice
+#define WARNTIME 30 // late game starts at game.limit-this
+#define FLASHTIME 50 // turns from first warning till blinding flash
+#define PANICTIME 15 // time left after closing
+#define BATTERYLIFE 2500 // turn limit increment from batteries
+#define WORD_NOT_FOUND \
+ -1 // "Word not found" flag value for the vocab hash functions.
+#define WORD_EMPTY 0 // "Word empty" flag value for the vocab hash functions
+#define PIT_KILL_PROB 35 // Percentage probability of dying from fall in pit.
+#define CARRIED -1 // Player is toting it
+#define READ_MODE "rb" // b is not needed for POSIX but harmless
+#define WRITE_MODE "wb" // b is not needed for POSIX but harmless
+
+/* Special object-state values - integers > 0 are object-specific */
+#define STATE_NOTFOUND -1 // 'Not found" state of treasures
+#define STATE_FOUND 0 // After discovered, before messed with
+#define STATE_IN_CAVITY 1 // State value common to all gemstones
+
+/* Special fixed object-state values - integers > 0 are location */
+#define IS_FIXED -1
+#define IS_FREE 0
+
+/* (ESR) It is fitting that translation of the original ADVENT should
+ * have left us a maze of twisty little conditionals that resists all
+ * understanding. Setting and use of what is now the per-object state
+ * member (which used to be an array of its own) is our mystery. This
+ * state tangles together information about whether the object is a
+ * treasure, whether the player has seen it yet, and its activation
+ * state.
+ *
+ * Things we think we know:
+ *
+ * STATE_NOTFOUND is only set on treasures. Non-treasures start the
+ * game in STATE_FOUND.
+ *
+ * PROP_STASHIFY is supposed to map a state property value to a
+ * negative range, where the object cannot be picked up but the value
+ * can be recovered later. Various objects get this property when
+ * the cave starts to close. Only seems to be significant for the bird
+ * and readable objects, notably the clam/oyster - but the code around
+ * those tests is difficult to read.
+ *
+ * All tests of the prop member are done with either these macros or ==.
+ */
+#define OBJECT_IS_NOTFOUND(obj) (game.objects[obj].prop == STATE_NOTFOUND)
+#define OBJECT_IS_FOUND(obj) (game.objects[obj].prop == STATE_FOUND)
+#define OBJECT_SET_FOUND(obj) (game.objects[obj].prop = STATE_FOUND)
+#define OBJECT_SET_NOT_FOUND(obj) (game.objects[obj].prop = STATE_NOTFOUND)
+#define OBJECT_IS_NOTFOUND2(g, o) (g.objects[o].prop == STATE_NOTFOUND)
+#define PROP_IS_INVALID(val) (val < -MAX_STATE - 1 || val > MAX_STATE)
+#define PROP_STASHIFY(n) (-1 - (n))
+#define OBJECT_STASHIFY(obj, pval) game.objects[obj].prop = PROP_STASHIFY(pval)
+#define OBJECT_IS_STASHED(obj) (game.objects[obj].prop < STATE_NOTFOUND)
+#define OBJECT_STATE_EQUALS(obj, pval) \
+ ((game.objects[obj].prop == pval) || \
+ (game.objects[obj].prop == PROP_STASHIFY(pval)))
+
+#define PROMPT "> "
+
+/*
+ * DESTROY(N) = Get rid of an item by putting it in LOC_NOWHERE
+ * MOD(N,M) = Arithmetic modulus
+ * TOTING(OBJ) = true if the OBJ is being carried
+ * AT(OBJ) = true if on either side of two-placed object
+ * HERE(OBJ) = true if the OBJ is at "LOC" (or is being carried)
+ * CNDBIT(L,N) = true if COND(L) has bit n set (bit 0 is units bit)
+ * LIQUID() = object number of liquid in bottle
+ * LIQLOC(LOC) = object number of liquid (if any) at LOC
+ * FORCED(LOC) = true if LOC moves without asking for input (COND=2)
+ * IS_DARK_HERE() = true if location "LOC" is dark
+ * PCT(N) = true N% of the time (N integer from 0 to 100)
+ * GSTONE(OBJ) = true if OBJ is a gemstone
+ * FOREST(LOC) = true if LOC is part of the forest
+ * OUTSIDE(LOC) = true if location not in the cave
+ * INSIDE(LOC) = true if location is in the cave or the building at the
+ * beginning of the game
+ * INDEEP(LOC) = true if location is in the Hall of Mists or deeper
+ * BUG(X) = report bug and exit
+ */
+#define DESTROY(N) move(N, LOC_NOWHERE)
+#define MOD(N, M) ((N) % (M))
+#define TOTING(OBJ) (game.objects[OBJ].place == CARRIED)
+#define AT(OBJ) \
+ (game.objects[OBJ].place == game.loc || \
+ game.objects[OBJ].fixed == game.loc)
+#define HERE(OBJ) (AT(OBJ) || TOTING(OBJ))
+#define CNDBIT(L, N) (tstbit(conditions[L], N))
+#define LIQUID() \
+ (game.objects[BOTTLE].prop == WATER_BOTTLE ? WATER \
+ : game.objects[BOTTLE].prop == OIL_BOTTLE ? OIL \
+ : NO_OBJECT)
+#define LIQLOC(LOC) \
+ (CNDBIT((LOC), COND_FLUID) ? CNDBIT((LOC), COND_OILY) ? OIL : WATER \
+ : NO_OBJECT)
+#define FORCED(LOC) CNDBIT(LOC, COND_FORCED)
+#define IS_DARK_HERE() \
+ (!CNDBIT(game.loc, COND_LIT) && \
+ (game.objects[LAMP].prop == LAMP_DARK || !HERE(LAMP)))
+#define PCT(N) (randrange(100) < (N))
+#define GSTONE(OBJ) \
+ ((OBJ) == EMERALD || (OBJ) == RUBY || (OBJ) == AMBER || (OBJ) == SAPPH)
+#define FOREST(LOC) CNDBIT(LOC, COND_FOREST)
+#define OUTSIDE(LOC) (CNDBIT(LOC, COND_ABOVE) || FOREST(LOC))
+#define INSIDE(LOC) (!OUTSIDE(LOC) || LOC == LOC_BUILDING)
+#define INDEEP(LOC) CNDBIT((LOC), COND_DEEP)
+#define BUG(x) bug(x, #x)
+
+enum bugtype {
+ SPECIAL_TRAVEL_500_GT_L_GT_300_EXCEEDS_GOTO_LIST,
+ VOCABULARY_TYPE_N_OVER_1000_NOT_BETWEEN_0_AND_3,
+ INTRANSITIVE_ACTION_VERB_EXCEEDS_GOTO_LIST,
+ TRANSITIVE_ACTION_VERB_EXCEEDS_GOTO_LIST,
+ CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION,
+ LOCATION_HAS_NO_TRAVEL_ENTRIES,
+ HINT_NUMBER_EXCEEDS_GOTO_LIST,
+ SPEECHPART_NOT_TRANSITIVE_OR_INTRANSITIVE_OR_UNKNOWN,
+ ACTION_RETURNED_PHASE_CODE_BEYOND_END_OF_SWITCH,
+};
+
+enum speaktype { touch, look, hear, study, change };
+
+enum termination { endgame, quitgame, scoregame };
+
+enum speechpart { unknown, intransitive, transitive };
+
+typedef enum { NO_WORD_TYPE, MOTION, OBJECT, ACTION, NUMERIC } word_type_t;
+
+typedef enum scorebonus { none, splatter, defeat, victory } score_t;
+
+/* Phase codes for action returns.
+ * These were at one time FORTRAN line numbers.
+ */
+typedef enum {
+ GO_TERMINATE,
+ GO_MOVE,
+ GO_TOP,
+ GO_CLEAROBJ,
+ GO_CHECKHINT,
+ GO_WORD2,
+ GO_UNKNOWN,
+ GO_DWARFWAKE,
+} phase_codes_t;
+
+/* Use fixed-lwength types to make the save format moore portable */
+typedef int32_t vocab_t; // index into a vocabulary array */
+typedef int32_t verb_t; // index into an actions array */
+typedef int32_t obj_t; // index into the object array */
+typedef int32_t loc_t; // index into the locations array */
+typedef int32_t turn_t; // turn counter or threshold */
+typedef int32_t bool32_t; // turn counter or threshold */
+
+struct game_t {
+ int32_t lcg_x;
+ int32_t abbnum; // How often to print int descriptions
+ score_t bonus; // What kind of finishing bonus we are getting
+ loc_t chloc; // pirate chest location
+ loc_t chloc2; // pirate chest alternate location
+ turn_t clock1; // # turns from finding last treasure to close
+ turn_t clock2; // # turns from warning till blinding flash
+ bool32_t clshnt; // has player read the clue in the endgame?
+ bool32_t closed; // whether we're all the way closed
+ bool32_t closng; // whether it's closing time yet
+ bool32_t lmwarn; // has player been warned about lamp going dim?
+ bool32_t novice; // asked for instructions at start-up?
+ bool32_t panic; // has player found out he's trapped?
+ bool32_t wzdark; // whether the loc he's leaving was dark
+ bool32_t blooded; // has player drunk of dragon's blood?
+ int32_t conds; // min value for cond[loc] if loc has any hints
+ int32_t detail; // level of detail in descriptions
+
+ /* dflag controls the level of activation of dwarves:
+ * 0 No dwarf stuff yet (wait until reaches Hall Of Mists)
+ * 1 Reached Hall Of Mists, but hasn't met first dwarf
+ * 2 Met 1t dwarf, others start moving, no knives thrown yet
+ * 3 A knife has been thrown (first set always misses) 3+
+ * Dwarves are mad (increases their accuracy) */
+ int32_t dflag;
+
+ int32_t dkill; // dwarves killed
+ int32_t dtotal; // total dwarves (including pirate) in loc
+ int32_t foobar; // progress in saying "FEE FIE FOE FOO".
+ int32_t holdng; // number of objects being carried
+ int32_t igo; // # uses of "go" instead of a direction
+ int32_t iwest; // # times he's said "west" instead of "w"
+ loc_t knfloc; // knife location; LOC_NOWERE if none, -1 after caveat
+ turn_t limit; // lifetime of lamp
+ loc_t loc; // where player is now
+ loc_t newloc; // where player is going
+ turn_t numdie; // number of times killed so far
+ loc_t oldloc; // where player was
+ loc_t oldlc2; // where player was two moves ago
+ obj_t oldobj; // last object player handled
+ int32_t saved; // point penalty for saves
+ int32_t tally; // count of treasures gained
+ int32_t thresh; // current threshold for endgame scoring tier
+ bool32_t seenbigwords; // have we red the graffiti in the Giant's Room?
+ turn_t trnluz; // # points lost so far due to turns used
+ turn_t turns; // counts commands given (ignores yes/no)
+ char zzword[TOKLEN + 1]; // randomly generated magic word from bird
+ struct {
+ int32_t abbrev; // has location been seen?
+ int32_t atloc; // head of object linked list per location
+ } locs[NLOCATIONS + 1];
+ struct {
+ int32_t seen; // true if dwarf has seen him
+ loc_t loc; // location of dwarves, initially hard-wired in
+ loc_t oldloc; // prior loc of each dwarf, initially garbage
+ } dwarves[NDWARVES + 1];
+ struct {
+ loc_t fixed; // fixed location of object (if not IS_FREE)
+ int32_t prop; // object state
+ loc_t place; // location of object
+ } objects[NOBJECTS + 1];
+ struct {
+ bool32_t used; // hints[i].used = true iff hint i has been used.
+ int32_t lc; // hints[i].lc = show int at LOC with cond bit i
+ } hints[NHINTS];
+ obj_t link[NOBJECTS * 2 + 1]; // object-list links
+};
+
+/*
+ * Game application settings - settings, but not state of the game, per se.
+ * This data is not saved in a saved game.
+ */
+struct settings_t {
+ FILE *logfp;
+ bool oldstyle;
+ bool prompt;
+ char **argv;
+ int argc;
+ int optind;
+ FILE *scriptfp;
+ int debug;
+};
+
+typedef struct {
+ char raw[LINESIZE];
+ vocab_t id;
+ word_type_t type;
+} command_word_t;
+
+typedef enum {
+ EMPTY,
+ RAW,
+ TOKENIZED,
+ GIVEN,
+ PREPROCESSED,
+ PROCESSING,
+ EXECUTED
+} command_state_t;
+
+typedef struct {
+ enum speechpart part;
+ command_word_t word[2];
+ verb_t verb;
+ obj_t obj;
+ command_state_t state;
+} command_t;
+
+/*
+ * Bump on save format change.
+ *
+ * Note: Verify that the tests run clean before bumping this, then rebuild the
+ * check files afterwards. Otherwise you will get a spurious failure due to the
+ * old version having been generated into a check file.
+ */
+#define SAVE_VERSION 31
+
+/*
+ * Goes at start of file so saves can be identified by file(1) and the like.
+ */
+#define ADVENT_MAGIC "open-adventure\n"
+
+/*
+ * If you change the first three members, the resume function may not properly
+ * reject saves from older versions. Later members can change, but bump the
+ * version when you do that.
+ */
+struct save_t {
+ char magic[sizeof(ADVENT_MAGIC)];
+ int32_t version;
+ int32_t canary;
+ struct game_t game;
+};
+
+extern struct game_t game;
+extern struct save_t save;
+extern struct settings_t settings;
+
+extern char *myreadline(const char *);
+extern bool get_command_input(command_t *);
+extern void clear_command(command_t *);
+extern void speak(const char *, ...);
+extern void sspeak(int msg, ...);
+extern void pspeak(vocab_t, enum speaktype, bool, int, ...);
+extern void rspeak(vocab_t, ...);
+extern void echo_input(FILE *, const char *, const char *);
+extern bool silent_yes_or_no(void);
+extern bool yes_or_no(const char *, const char *, const char *);
+extern void juggle(obj_t);
+extern void move(obj_t, loc_t);
+extern void put(obj_t, loc_t, int);
+extern void carry(obj_t, loc_t);
+extern void drop(obj_t, loc_t);
+extern int atdwrf(loc_t);
+extern int setbit(int);
+extern bool tstbit(int, int);
+extern void set_seed(int32_t);
+extern int32_t randrange(int32_t);
+extern int score(enum termination);
+extern void terminate(enum termination) __attribute__((noreturn));
+extern int savefile(FILE *);
+#if defined ADVENT_AUTOSAVE
+extern void autosave(void);
+#endif
+extern int suspend(void);
+extern int resume(void);
+extern int restore(FILE *);
+extern int initialise(void);
+extern phase_codes_t action(command_t);
+extern void state_change(obj_t, int);
+extern bool is_valid(struct game_t);
+extern void bug(enum bugtype, const char *) __attribute__((__noreturn__));
+
+/* represent an empty command word */
+static const command_word_t empty_command_word = {
+ .raw = "",
+ .id = WORD_EMPTY,
+ .type = NO_WORD_TYPE,
+};
+
+/* end */
diff --git a/advent.svg b/advent.svg
new file mode 100644
index 0000000..02a0e1b
--- /dev/null
+++ b/advent.svg
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/advent.txt b/advent.txt
deleted file mode 100644
index e4db51c..0000000
--- a/advent.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-= advent(6) =
-:doctype: manpage
-
-== NAME ==
-advent - Colossal Cave Adventure
-
-== SYNOPSIS ==
-*advent*
-
-== DESCRIPTION ==
-The original Colossal Cave Adventure from 1976 was the origin of all
-text adventures, dungeon-crawl games, and computer-hosted roleplaying
-games.
-
-This is the last version released by Crowther & Woods, its original
-authors, in 1995. It has been known as "adventure 2.5" and "430-point
-adventure".
-
-This game is released as open source with the permission and encouragement of
-the authors.
-
-There is an 'adventure' in the BSD games package that is a C
-port of the 1976 ancestor of this game. To avoid a name collision,
-this game builds as 'advent', reflecting the fact that the PDP-10
-on which it originally ran limited filenames to 6 characters.
-
-== OPTIONS ==
-
--l:: Log commands to specified file.
-
--o:: Old-style. Restores original interface, no prompt.
-
-== ENVIRONMENT VARIABLES ==
-ADVENTURE::
- Path to the text database file describing Colossal Cave.
-
-== REPORTING BUGS ==
-Report bugs to Eric S. Raymond . The project page is
-at http://catb.org/~esr/advent
-
-== SEE ALSO ==
-wumpus(6), adventure(6), zork(6), rogue(6), nethack(6).
diff --git a/adventure.text b/adventure.text
deleted file mode 100644
index 5ec4034..0000000
--- a/adventure.text
+++ /dev/null
@@ -1,2295 +0,0 @@
-1
-1 You are standing at the end of a road before a small brick building.
-1 Around you is a forest. A small stream flows out of the building and
-1 down a gully.
-2 You have walked up a hill, still in the forest. The road slopes back
-2 down the other side of the hill. There is a building in the distance.
-3 You are inside a building, a well house for a large spring.
-4 You are in a valley in the forest beside a stream tumbling along a
-4 rocky bed.
-5 The road, which approaches from the east, ends here amid the trees.
-6 The forest thins out here to reveal a steep cliff. There is no way
-6 down, but a small ledge can be seen to the west across the chasm.
-7 At your feet all the water of the stream splashes into a 2-inch slit
-7 in the rock. Downstream the streambed is bare rock.
-8 You are in a 20-foot depression floored with bare dirt. Set into the
-8 dirt is a strong steel grate mounted in concrete. A dry streambed
-8 leads into the depression.
-9 You are in a small chamber beneath a 3x3 steel grate to the surface.
-9 A low crawl over cobbles leads inward to the west.
-10 You are crawling over cobbles in a low passage. There is a dim light
-10 at the east end of the passage.
-11 You are in a debris room filled with stuff washed in from the surface.
-11 A low wide passage with cobbles becomes plugged with mud and debris
-11 here, but an awkward canyon leads upward and west. In the mud someone
-11 has scrawled, "MAGIC WORD XYZZY".
-12 You are in an awkward sloping east/west canyon.
-13 You are in a splendid chamber thirty feet high. The walls are frozen
-13 rivers of orange stone. An awkward canyon and a good passage exit
-13 from east and west sides of the chamber.
-14 At your feet is a small pit breathing traces of white mist. An east
-14 passage ends here except for a small crack leading on.
-15 You are at one end of a vast hall stretching forward out of sight to
-15 the west. There are openings to either side. Nearby, a wide stone
-15 staircase leads downward. The hall is filled with wisps of white mist
-15 swaying to and fro almost as if alive. A cold wind blows up the
-15 staircase. There is a passage at the top of a dome behind you.
-16 The crack is far too small for you to follow. At its widest it is
-16 barely wide enough to admit your foot.
-17 You are on the east bank of a fissure slicing clear across the hall.
-17 The mist is quite thick here, and the fissure is too wide to jump.
-18 This is a low room with a crude note on the wall. The note says,
-18 "You won't get it up the steps".
-19 You are in the Hall of the Mountain King, with passages off in all
-19 directions.
-20 You are at the bottom of the pit with a broken neck.
-21 You didn't make it.
-22 The dome is unclimbable.
-23 You are at the west end of the Twopit Room. There is a large hole in
-23 the wall above the pit at this end of the room.
-24 You are at the bottom of the eastern pit in the Twopit Room. There is
-24 a small pool of oil in one corner of the pit.
-25 You are at the bottom of the western pit in the Twopit Room. There is
-25 a large hole in the wall about 25 feet above you.
-26 You clamber up the plant and scurry through the hole at the top.
-27 You are on the west side of the fissure in the Hall of Mists.
-28 You are in a low n/s passage at a hole in the floor. The hole goes
-28 down to an e/w passage.
-29 You are in the south side chamber.
-30 You are in the west side chamber of the Hall of the Mountain King.
-30 A passage continues west and up here.
-31 %!
-32 You can't get by the snake.
-33 You are in a large room, with a passage to the south, a passage to the
-33 west, and a wall of broken rock to the east. There is a large "Y2" on
-33 a rock in the room's center.
-34 You are in a jumble of rock, with cracks everywhere.
-35 You're at a low window overlooking a huge pit, which extends up out of
-35 sight. A floor is indistinctly visible over 50 feet below. Traces of
-35 white mist cover the floor of the pit, becoming thicker to the right.
-35 Marks in the dust around the window would seem to indicate that
-35 someone has been here recently. Directly across the pit from you and
-35 25 feet away there is a similar window looking into a lighted room. A
-35 shadowy figure can be seen there peering back at you.
-36 You are in a dirty broken passage. To the east is a crawl. To the
-36 west is a large passage. Above you is a hole to another passage.
-37 You are on the brink of a small clean climbable pit. A crawl leads
-37 west.
-38 You are in the bottom of a small pit with a little stream, which
-38 enters and exits through tiny slits.
-39 You are in a large room full of dusty rocks. There is a big hole in
-39 the floor. There are cracks everywhere, and a passage leading east.
-40 You have crawled through a very low wide passage parallel to and north
-40 of the Hall of Mists.
-41 You are at the west end of the Hall of Mists. A low wide crawl
-41 continues west and another goes north. To the south is a little
-41 passage 6 feet off the floor.
-42 You are in a maze of twisty little passages, all alike.
-43 You are in a maze of twisty little passages, all alike.
-44 You are in a maze of twisty little passages, all alike.
-45 You are in a maze of twisty little passages, all alike.
-46 Dead end
-47 Dead end
-48 Dead end
-49 You are in a maze of twisty little passages, all alike.
-50 You are in a maze of twisty little passages, all alike.
-51 You are in a maze of twisty little passages, all alike.
-52 You are in a maze of twisty little passages, all alike.
-53 You are in a maze of twisty little passages, all alike.
-54 Dead end
-55 You are in a maze of twisty little passages, all alike.
-56 Dead end
-57 You are on the brink of a thirty foot pit with a massive orange column
-57 down one wall. You could climb down here but you could not get back
-57 up. The maze continues at this level.
-58 Dead end
-59 You have crawled through a very low wide passage parallel to and north
-59 of the Hall of Mists.
-60 You are at the east end of a very long hall apparently without side
-60 chambers. To the east a low wide crawl slants up. To the north a
-60 round two foot hole slants down.
-61 You are at the west end of a very long featureless hall. The hall
-61 joins up with a narrow north/south passage.
-62 You are at a crossover of a high n/s passage and a low e/w one.
-63 Dead end
-64 You are at a complex junction. A low hands and knees passage from the
-64 north joins a higher crawl from the east to make a walking passage
-64 going west. There is also a large room above. The air is damp here.
-65 You are in Bedquilt, a long east/west passage with holes everywhere.
-65 To explore at random select north, south, up, or down.
-66 You are in a room whose walls resemble swiss cheese. Obvious passages
-66 go west, east, ne, and nw. Part of the room is occupied by a large
-66 bedrock block.
-67 You are at the east end of the Twopit Room. The floor here is
-67 littered with thin rock slabs, which make it easy to descend the pits.
-67 There is a path here bypassing the pits to connect passages from east
-67 and west. There are holes all over, but the only big one is on the
-67 wall directly over the west pit where you can't get to it.
-68 You are in a large low circular chamber whose floor is an immense slab
-68 fallen from the ceiling (Slab Room). East and west there once were
-68 large passages, but they are now filled with boulders. Low small
-68 passages go north and south, and the south one quickly bends west
-68 around the boulders.
-69 You are in a secret n/s canyon above a large room.
-70 You are in a secret n/s canyon above a sizable passage.
-71 You are in a secret canyon at a junction of three canyons, bearing
-71 north, south, and se. The north one is as tall as the other two
-71 combined.
-72 You are in a large low room. Crawls lead north, se, and sw.
-73 Dead end crawl.
-74 You are in a secret canyon which here runs e/w. It crosses over a
-74 very tight canyon 15 feet below. If you go down you may not be able
-74 to get back up.
-75 You are at a wide place in a very tight n/s canyon.
-76 The canyon here becomes too tight to go further south.
-77 You are in a tall e/w canyon. A low tight crawl goes 3 feet north and
-77 seems to open up.
-78 The canyon runs into a mass of boulders -- dead end.
-79 The stream flows out through a pair of 1 foot diameter sewer pipes.
-79 It would be advisable to use the exit.
-80 You are in a maze of twisty little passages, all alike.
-81 Dead end
-82 Dead end
-83 You are in a maze of twisty little passages, all alike.
-84 You are in a maze of twisty little passages, all alike.
-85 Dead end
-86 Dead end
-87 You are in a maze of twisty little passages, all alike.
-88 You are in a long, narrow corridor stretching out of sight to the
-88 west. At the eastern end is a hole through which you can see a
-88 profusion of leaves.
-89 There is nothing here to climb. Use "up" or "out" to leave the pit.
-90 You have climbed up the plant and out of the pit.
-91 You are at the top of a steep incline above a large room. You could
-91 climb down here, but you would not be able to climb up. There is a
-91 passage leading back to the north.
-92 You are in the Giant Room. The ceiling here is too high up for your
-92 lamp to show it. Cavernous passages lead east, north, and south. On
-92 the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
-93 The passage here is blocked by a recent cave-in.
-94 You are at one end of an immense north/south passage.
-95 You are in a magnificent cavern with a rushing stream, which cascades
-95 over a sparkling waterfall into a roaring whirlpool which disappears
-95 through a hole in the floor. Passages exit to the south and west.
-96 You are in the Soft Room. The walls are covered with heavy curtains,
-96 the floor with a thick pile carpet. Moss covers the ceiling.
-97 This is the Oriental Room. Ancient oriental cave drawings cover the
-97 walls. A gently sloping passage leads upward to the north, another
-97 passage leads se, and a hands and knees crawl leads west.
-98 You are following a wide path around the outer edge of a large cavern.
-98 Far below, through a heavy white mist, strange splashing noises can be
-98 heard. The mist rises up through a fissure in the ceiling. The path
-98 exits to the south and west.
-99 You are in an alcove. A small nw path seems to widen after a short
-99 distance. An extremely tight tunnel leads east. It looks like a very
-99 tight squeeze. An eerie light can be seen at the other end.
-100 You're in a small chamber lit by an eerie green light. An extremely
-100 narrow tunnel exits to the west. A dark corridor leads ne.
-101 You're in the dark-room. A corridor leading south is the only exit.
-102 You are in an arched hall. A coral passage once continued up and east
-102 from here, but is now blocked by debris. The air smells of sea water.
-103 You're in a large room carved out of sedimentary rock. The floor and
-103 walls are littered with bits of shells imbedded in the stone. A
-103 shallow passage proceeds downward, and a somewhat steeper one leads
-103 up. A low hands and knees passage enters from the south.
-104 You are in a long sloping corridor with ragged sharp walls.
-105 You are in a cul-de-sac about eight feet across.
-106 You are in an anteroom leading to a large passage to the east. Small
-106 passages go west and up. The remnants of recent digging are evident.
-106 A sign in midair here says "Cave under construction beyond this point.
-106 Proceed at own risk. [Witt Construction Company]"
-107 You are in a maze of twisty little passages, all different.
-108 You are at Witt's End. Passages lead off in *ALL* directions.
-109 You are in a north/south canyon about 25 feet across. The floor is
-109 covered by white mist seeping in from the north. The walls extend
-109 upward for well over 100 feet. Suspended from some unseen point far
-109 above you, an enormous two-sided mirror is hanging parallel to and
-109 midway between the canyon walls. (The mirror is obviously provided
-109 for the use of the dwarves who, as you know, are extremely vain.) A
-109 small window can be seen in either wall, some fifty feet up.
-110 You're at a low window overlooking a huge pit, which extends up out of
-110 sight. A floor is indistinctly visible over 50 feet below. Traces of
-110 white mist cover the floor of the pit, becoming thicker to the left.
-110 Marks in the dust around the window would seem to indicate that
-110 someone has been here recently. Directly across the pit from you and
-110 25 feet away there is a similar window looking into a lighted room. A
-110 shadowy figure can be seen there peering back at you.
-111 A large stalactite extends from the roof and almost reaches the floor
-111 below. You could climb down it, and jump from it to the floor, but
-111 having done so you would be unable to reach it to climb back up.
-112 You are in a little maze of twisting passages, all different.
-113 You are at the edge of a large underground reservoir. An opaque cloud
-113 of white mist fills the room and rises rapidly upward. The lake is
-113 fed by a stream, which tumbles out of a hole in the wall about 10 feet
-113 overhead and splashes noisily into the water somewhere within the
-113 mist. There is a passage going back toward the south.
-114 Dead end
-115 You are at the northeast end of an immense room, even larger than the
-115 Giant Room. It appears to be a repository for the "Adventure"
-115 program. Massive torches far overhead bathe the room with smoky
-115 yellow light. Scattered about you can be seen a pile of bottles (all
-115 of them empty), a nursery of young beanstalks murmuring quietly, a bed
-115 of oysters, a bundle of black rods with rusty stars on their ends, and
-115 a collection of brass lanterns. Off to one side a great many dwarves
-115 are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
-115 not disturb the dwarves!" An immense mirror is hanging against one
-115 wall, and stretches to the other end of the room, where various other
-115 sundry objects can be glimpsed dimly in the distance.
-116 You are at the southwest end of the repository. To one side is a pit
-116 full of fierce green snakes. On the other side is a row of small
-116 wicker cages, each of which contains a little sulking bird. In one
-116 corner is a bundle of black rods with rusty marks on their ends. A
-116 large number of velvet pillows are scattered about on the floor. A
-116 vast mirror stretches off to the northeast. At your feet is a large
-116 steel grate, next to which is a sign that reads, "Treasure Vault.
-116 Keys in main office."
-117 You are on one side of a large, deep chasm. A heavy white mist rising
-117 up from below obscures all view of the far side. A sw path leads away
-117 from the chasm into a winding corridor.
-118 You are in a long winding corridor sloping out of sight in both
-118 directions.
-119 You are in a secret canyon which exits to the north and east.
-120 You are in a secret canyon which exits to the north and east.
-121 You are in a secret canyon which exits to the north and east.
-122 You are on the far side of the chasm. A ne path leads away from the
-122 chasm on this side.
-123 You're in a long east/west corridor. A faint rumbling noise can be
-123 heard in the distance.
-124 The path forks here. The left fork leads northeast. A dull rumbling
-124 seems to get louder in that direction. The right fork leads southeast
-124 down a gentle slope. The main corridor enters from the west.
-125 The walls are quite warm here. From the north can be heard a steady
-125 roar, so loud that the entire cave seems to be trembling. Another
-125 passage leads south, and a low crawl goes east.
-126 You are on the edge of a breath-taking view. Far below you is an
-126 active volcano, from which great gouts of molten lava come surging
-126 out, cascading back down into the depths. The glowing rock fills the
-126 farthest reaches of the cavern with a blood-red glare, giving every-
-126 thing an eerie, macabre appearance. The air is filled with flickering
-126 sparks of ash and a heavy smell of brimstone. The walls are hot to
-126 the touch, and the thundering of the volcano drowns out all other
-126 sounds. Embedded in the jagged roof far overhead are myriad twisted
-126 formations composed of pure white alabaster, which scatter the murky
-126 light into sinister apparitions upon the walls. To one side is a deep
-126 gorge, filled with a bizarre chaos of tortured rock which seems to
-126 have been crafted by the devil himself. An immense river of fire
-126 crashes out from the depths of the volcano, burns its way through the
-126 gorge, and plummets into a bottomless pit far off to your left. To
-126 the right, an immense geyser of blistering steam erupts continuously
-126 from a barren island in the center of a sulfurous lake, which bubbles
-126 ominously. The far right wall is aflame with an incandescence of its
-126 own, which lends an additional infernal splendor to the already
-126 hellish scene. A dark, foreboding passage exits to the south.
-127 You are in a small chamber filled with large boulders. The walls are
-127 very warm, causing the air in the room to be almost stifling from the
-127 heat. The only exit is a crawl heading west, through which is coming
-127 a low rumbling.
-128 You are walking along a gently sloping north/south passage lined with
-128 oddly shaped limestone formations.
-129 You are standing at the entrance to a large, barren room. A notice
-129 above the entrance reads: "Caution! Bear in room!"
-130 You are inside a barren room. The center of the room is completely
-130 empty except for some dust. Marks in the dust lead away toward the
-130 far end of the room. The only exit is the way you came in.
-131 You are in a maze of twisting little passages, all different.
-132 You are in a little maze of twisty passages, all different.
-133 You are in a twisting maze of little passages, all different.
-134 You are in a twisting little maze of passages, all different.
-135 You are in a twisty little maze of passages, all different.
-136 You are in a twisty maze of little passages, all different.
-137 You are in a little twisty maze of passages, all different.
-138 You are in a maze of little twisting passages, all different.
-139 You are in a maze of little twisty passages, all different.
-140 Dead end
-141 You are in a long, rough-hewn, north/south corridor.
-142 There is no way to go that direction.
-143 You are in a large chamber with passages to the west and north.
-144 You are in the ogre's storeroom. The only exit is to the south.
-145 You are wandering aimlessly through the forest.
-146 You are wandering aimlessly through the forest.
-147 You are wandering aimlessly through the forest.
-148 You are wandering aimlessly through the forest.
-149 You are wandering aimlessly through the forest.
-150 You are wandering aimlessly through the forest.
-151 You are wandering aimlessly through the forest.
-152 You are wandering aimlessly through the forest.
-153 You are wandering aimlessly through the forest.
-154 You are wandering aimlessly through the forest.
-155 You are wandering aimlessly through the forest.
-156 You are wandering aimlessly through the forest.
-157 You are wandering aimlessly through the forest.
-158 You are wandering aimlessly through the forest.
-159 You are wandering aimlessly through the forest.
-160 You are wandering aimlessly through the forest.
-161 You are wandering aimlessly through the forest.
-162 You are wandering aimlessly through the forest.
-163 You are wandering aimlessly through the forest.
-164 You are wandering aimlessly through the forest.
-165 You are wandering aimlessly through the forest.
-166 You are wandering aimlessly through the forest.
-167 You are on a small ledge on one face of a sheer cliff. There are no
-167 paths away from the ledge. Across the chasm is a small clearing
-167 surrounded by forest.
-168 You are walking across the bottom of the reservoir. Walls of water
-168 rear up on either side. The roar of the water cascading past is
-168 nearly deafening, and the mist is so thick you can barely see.
-169 You are at the northern edge of the reservoir. A northwest passage
-169 leads sharply up from here.
-170 You are scrambling along a treacherously steep, rocky passage.
-171 You are on a very steep incline, which widens at it goes upward.
-172 You are at the base of a nearly vertical cliff. There are some
-172 slim footholds which would enable you to climb up, but it looks
-172 extremely dangerous. Here at the base of the cliff lie the remains
-172 of several earlier adventurers who apparently failed to make it.
-173 You are climbing along a nearly vertical cliff.
-174 Just as you reach the top, your foot slips on a loose rock and you
-174 tumble several hundred feet to join the other unlucky adventurers.
-175 Just as you reach the top, your foot slips on a loose rock and you
-175 make one last desperate grab. Your luck holds, as does your grip.
-175 With an enormous heave, you lift yourself to the ledge above.
-176 You are on a small ledge at the top of a nearly vertical cliff.
-176 There is a low crawl leading off to the northeast.
-177 You have reached a dead end.
-178 There is now one more gruesome aspect to the spectacular vista.
-179 >>Foof!<<
-180 >>Foof!<<
-181 >>Foof!<<
-182 >>Foof!<<
-183 >>Foof!<<
-184 >>Foof!<<
--1
-2
-1 You're in front of building.
-2 You're at hill in road.
-3 You're inside building.
-4 You're in valley.
-5 You're at end of road.
-6 You're at cliff.
-7 You're at slit in streambed.
-8 You're outside grate.
-9 You're below the grate.
-10 You're in cobble crawl.
-11 You're in debris room.
-13 You're in bird chamber.
-14 You're at top of small pit.
-15 You're in Hall of Mists.
-17 You're on east bank of fissure.
-18 You're in nugget-of-gold room.
-19 You're in Hall of Mt King.
-23 You're at west end of Twopit Room.
-24 You're in east pit.
-25 You're in west pit.
-27 You're on west bank of fissure.
-28 You're in n/s passage above e/w passage.
-30 You're in the west side chamber.
-33 You're at "Y2".
-35 You're at window on pit.
-36 You're in dirty passage.
-37 You're at brink of small pit.
-38 You're at bottom of pit with stream.
-39 You're in dusty rock room.
-41 You're at west end of Hall of Mists.
-57 You're at brink of pit.
-60 You're at east end of long hall.
-61 You're at west end of long hall.
-64 You're at complex junction.
-65 You're in Bedquilt.
-66 You're in Swiss Cheese Room.
-67 You're at east end of Twopit Room.
-68 You're in Slab Room.
-71 You're at junction of three secret canyons.
-72 You're in large low room.
-74 You're in secret e/w canyon above tight canyon.
-88 You're in narrow corridor.
-91 You're at steep incline above large room.
-92 You're in Giant Room.
-95 You're in cavern with waterfall.
-96 You're in Soft Room.
-97 You're in Oriental Room.
-98 You're in misty cavern.
-99 You're in alcove.
-100 You're in Plover Room.
-101 You're in dark-room.
-102 You're in arched hall.
-103 You're in Shell Room.
-106 You're in anteroom.
-108 You're at Witt's End.
-109 You're in Mirror Canyon.
-110 You're at window on pit.
-111 You're at top of stalactite.
-113 You're at reservoir.
-115 You're at ne end.
-116 You're at sw end.
-117 You're on sw side of chasm.
-118 You're in sloping corridor.
-122 You're on ne side of chasm.
-123 You're in corridor.
-124 You're at fork in path.
-125 You're at junction with warm walls.
-126 You're at breath-taking view.
-127 You're in Chamber of Boulders.
-128 You're in limestone passage.
-129 You're in front of Barren Room.
-130 You're in Barren Room.
-167 You're on ledge.
-168 You're at bottom of reservoir.
-169 You're north of reservoir.
-172 You're at base of cliff.
-176 You're at top of cliff.
--1
-3
-1 2 2 44 29
-1 3 3 12 19 43
-1 4 5 13 14 46 30
-1 145 6 45
-1 8 63
-2 1 12 43
-2 5 44
-2 164 45
-2 157 46 6
-2 580 30
-3 1 11 32 44
-3 179 62
-3 181 65
-3 79 5 14
-4 1 4 12 45
-4 150 43 6
-4 156 44
-4 7 5 46 30
-4 8 63
-4 745 14
-5 2 2 43 29
-5 1 12
-5 158 46 6
-5 159 44
-5 165 45
-6 161 46 6
-6 163 43
-6 21 39
-7 1 12
-7 4 4 45
-7 150 43 6
-7 154 44
-7 8 5 16 46 63
-7 595 60 14 30 19 3
-8 151 43 6
-8 154 46
-8 153 44
-8 1 12
-8 7 4 13 45
-8 303009 3 19 30
-8 593 3
-9 303008 11 29
-9 593 11
-9 10 17 18 19 44
-9 14 31
-9 11 51
-10 9 11 20 21 43
-10 11 19 22 44 51
-10 14 31
-11 303008 63
-11 9 64
-11 10 17 18 23 24 43
-11 12 25 19 29 44
-11 180 62
-11 14 31
-12 303008 63
-12 9 64
-12 11 30 43 51
-12 13 19 29 44
-12 14 31
-13 303008 63
-13 9 64
-13 11 51
-13 12 25 43
-13 14 23 31 44
-14 303008 63
-14 9 64
-14 11 51
-14 13 23 43
-14 150020 30 31 34
-14 15 30
-14 16 33 44
-15 18 36 46
-15 17 7 38 44
-15 19 10 30 45
-15 150022 29 31 34 35 23 43
-15 14 29
-15 34 55
-16 14 1
-17 15 38 43
-17 312596 39
-17 412021 7
-17 412597 41 42 44 69
-17 27 41
-18 15 38 11 45
-19 15 10 29 43
-19 311028 45 37
-19 311029 46 36
-19 311030 44 7
-19 32 45
-19 35074 49
-19 211032 49
-19 74 66
-20 0 1
-21 0 1
-22 15 1
-23 67 43 42
-23 68 44 61
-23 25 30 31
-23 648 52
-24 67 29 11
-25 23 29 11
-25 524031 56
-25 26 56
-26 88 1
-27 312596 39
-27 412021 7
-27 412597 41 42 43 69
-27 17 41
-27 40 45
-27 41 44
-28 19 38 11 46
-28 33 45 55
-28 36 30 52
-29 19 38 11 45
-30 19 38 11 43
-30 62 44 29
-31 424089 1
-31 90 1
-32 19 1
-33 182 65
-33 28 46
-33 34 43 53 54
-33 35 44
-33 159302 71
-33 183 71
-34 33 30 55
-34 15 29
-35 33 43 55
-35 20 39
-36 37 43 17
-36 28 29 52
-36 39 44
-36 65 70
-37 36 44 17
-37 38 30 31 56
-38 37 56 29 11
-38 595 60 14 30 4 5 3 19
-39 36 43 23
-39 64 30 52 58
-39 65 70
-40 41 1
-41 42 46 29 23 56
-41 27 43
-41 59 45
-41 60 44 17
-42 41 29
-42 42 45
-42 43 43
-42 45 46
-42 80 44
-43 42 44
-43 44 46
-43 45 43
-44 43 43
-44 48 30
-44 50 46
-44 82 45
-45 42 44
-45 43 45
-45 46 43
-45 47 46
-45 87 29 30
-46 45 44 11
-47 45 43 11
-48 44 29 11
-49 50 43
-49 51 44
-50 44 43
-50 49 44
-50 51 30
-50 52 46
-51 49 44
-51 50 29
-51 52 43
-51 53 46
-52 50 44
-52 51 43
-52 52 46
-52 53 29
-52 55 45
-52 86 30
-53 51 44
-53 52 45
-53 54 46
-54 53 44 11
-55 52 44
-55 55 45
-55 56 30
-55 57 43
-56 55 29 11
-57 13 30 56
-57 55 44
-57 58 46
-57 83 45
-57 84 43
-58 57 43 11
-59 27 1
-60 41 43 29 17
-60 61 44
-60 62 45 30 52
-61 60 43
-61 62 45
-61 100107 46
-62 60 44
-62 63 45
-62 30 43
-62 61 46
-63 62 46 11
-64 39 29 56 59
-64 65 44 70
-64 103 45 74
-64 106 43
-65 64 43
-65 66 44
-65 65556 46
-65 68 61
-65 60556 29
-65 70070 29
-65 39 29
-65 50556 45
-65 75072 45
-65 71 45
-65 65556 30
-65 106 30
-66 65 47
-66 67 44
-66 80556 46
-66 77 25
-66 96 43
-66 50556 50
-66 97 72
-67 66 43
-67 23 44 42
-67 24 30 31
-68 23 46
-68 69 29 56
-68 65 45
-69 68 30 61
-69 331120 46
-69 119 46
-69 109 45
-69 113 75
-70 71 45
-70 65 30 23
-70 111 46
-71 65 48
-71 70 46
-71 110 45
-72 65 70
-72 118 49
-72 73 45
-72 97 48 72
-73 72 46 17 11
-74 19 43
-74 331120 44
-74 121 44
-74 75 30
-75 76 46
-75 77 45
-76 75 45
-77 75 43
-77 78 44
-77 66 45 17
-78 77 46
-79 3 1
-80 42 45
-80 80 44
-80 80 46
-80 81 43
-81 80 44 11
-82 44 46 11
-83 57 46
-83 84 43
-83 85 44
-84 57 45
-84 83 44
-84 114 50
-85 83 43 11
-86 52 29 11
-87 45 29 30
-88 25 30 56 43
-88 20 39
-88 92 44 27
-89 25 1
-90 23 1
-91 95 45 73 23
-91 72 30 56
-92 88 46
-92 93 43
-92 94 45
-93 92 46 27 11
-94 92 46 27 23
-94 309095 45 3 73
-94 611 45
-95 94 46 11
-95 92 27
-95 91 44
-96 66 44 11
-97 66 48
-97 72 44 17
-97 98 29 45 73
-98 97 46 72
-98 99 44
-99 98 50 73
-99 301 43 23
-99 100 43
-100 301 44 23 11
-100 99 44
-100 159302 71
-100 184 71
-100 101 47 22
-101 100 46 71 11
-102 103 30 74 11
-103 102 29 38
-103 104 30
-103 114618 46
-103 115619 46
-103 64 46
-104 103 29 74
-104 105 30
-105 104 29 11
-105 103 74
-106 64 29
-106 65 44
-106 108 43
-107 131 46
-107 132 49
-107 133 47
-107 134 48
-107 135 29
-107 136 50
-107 137 43
-107 138 44
-107 139 45
-107 61 30
-108 95556 43 45 46 47 48 49 50 29 30
-108 106 43
-108 626 44
-109 69 46
-109 113 45 75
-110 71 44
-110 20 39
-111 70 45
-111 40050 30 39 56
-111 50053 30
-111 45 30
-112 131 49
-112 132 45
-112 133 43
-112 134 50
-112 135 48
-112 136 47
-112 137 44
-112 138 30
-112 139 29
-112 140 46
-113 109 46 11
-113 445552 45 42 69
-113 168 45
-114 84 48
-115 116 49
-116 115 47
-116 593 30
-117 118 49
-117 233660 41 42 69 47
-117 332661 41
-117 303 41
-117 332021 39
-117 596 39
-118 72 30
-118 117 29
-119 69 45 11
-119 653 43 7
-120 69 45
-120 74 43
-121 74 43 11
-121 653 45 7
-122 123 47
-122 233660 41 42 69 49
-122 303 41
-122 596 39
-122 124 15
-122 126 28
-122 129 40
-123 122 44
-123 124 43 15
-123 126 28
-123 129 40
-124 123 44
-124 125 47 36
-124 128 48 37 30
-124 126 28
-124 129 40
-125 124 46 15
-125 126 45 28
-125 127 43 17
-126 125 46 23 11
-126 124 15
-126 610 30
-126 178 39
-127 125 44 11 17
-127 124 15
-127 126 28
-128 124 45 29 15
-128 129 46 30 40
-128 126 28
-129 128 44 29
-129 124 15
-129 130 43 19 40 3
-129 126 28
-130 129 44 11
-130 124 15
-130 126 28
-131 107 44
-131 132 48
-131 133 50
-131 134 49
-131 135 47
-131 136 29
-131 137 30
-131 138 45
-131 139 46
-131 112 43
-132 107 50
-132 131 29
-132 133 45
-132 134 46
-132 135 44
-132 136 49
-132 137 47
-132 138 43
-132 139 30
-132 112 48
-133 107 29
-133 131 30
-133 132 44
-133 134 47
-133 135 49
-133 136 43
-133 137 45
-133 138 50
-133 139 48
-133 112 46
-134 107 47
-134 131 45
-134 132 50
-134 133 48
-134 135 43
-134 136 30
-134 137 46
-134 138 29
-134 139 44
-134 112 49
-135 107 45
-135 131 48
-135 132 30
-135 133 46
-135 134 43
-135 136 44
-135 137 49
-135 138 47
-135 139 50
-135 112 29
-136 107 43
-136 131 44
-136 132 29
-136 133 49
-136 134 30
-136 135 46
-136 137 50
-136 138 48
-136 139 47
-136 112 45
-137 107 48
-137 131 47
-137 132 46
-137 133 30
-137 134 29
-137 135 50
-137 136 45
-137 138 49
-137 139 43
-137 112 44
-138 107 30
-138 131 43
-138 132 47
-138 133 29
-138 134 44
-138 135 45
-138 136 46
-138 137 48
-138 139 49
-138 112 50
-139 107 49
-139 131 50
-139 132 43
-139 133 44
-139 134 45
-139 135 30
-139 136 48
-139 137 29
-139 138 46
-139 112 47
-140 112 45 11
-140 338141 46
-140 142 46
-141 140 45
-141 143 46
-142 140 1
-143 141 44
-143 241560 45
-143 144 45
-144 143 46 11
-145 1 43
-145 157 44
-145 146 45
-145 147 46
-146 145 43
-146 163 44
-146 147 45
-146 162 46
-147 148 43 44
-147 146 45
-147 145 46
-148 147 43 45
-148 149 44 46
-149 148 43 45
-149 151 44
-149 150 46
-150 149 43
-150 151 44
-150 4 45
-150 7 46
-151 149 43
-151 150 44
-151 8 45
-151 152 46
-152 153 43
-152 155 44
-152 166 45
-152 151 46
-153 155 43
-153 152 44
-153 154 45
-153 8 46
-154 7 43
-154 155 44
-154 153 45
-154 8 46
-155 154 43
-155 152 44
-155 166 45
-155 153 46
-156 157 43
-156 158 44
-156 166 45
-156 4 46
-157 145 43
-157 156 44
-157 164 45
-157 2 46
-158 5 43
-158 160 44
-158 159 45
-158 156 46
-159 160 43
-159 166 44
-159 5 45
-159 158 46
-160 161 43 45
-160 158 44
-160 159 46
-161 162 43
-161 160 44 46
-161 6 45
-162 163 43
-162 161 44
-162 146 45
-162 165 46
-163 146 43
-163 162 44
-163 6 45
-163 164 46
-164 2 43
-164 165 44
-164 163 45
-164 157 46
-165 164 43
-165 5 44
-165 162 45
-165 165 46
-166 152 43
-166 155 44
-166 159 45
-166 156 46
-167 21 39
-168 169 45
-168 113 46
-169 445552 46 42 69
-169 168 46
-169 170 50 29 11
-170 171 29 50
-170 169 30 48
-171 170 30 48
-171 172 29 50
-172 171 30 48
-172 173 29 56
-173 172 30
-173 146175 29
-173 174 29
-174 0 1
-175 176 1
-176 173 56 30
-176 177 47 17
-177 176 49 11 17
-178 0 1
-179 11 1
-180 3 1
-181 33 1
-182 3 1
-183 100 1
-184 33 1
--1
-4
-2 ROAD
-2 HILL
-3 ENTER
-4 UPSTR
-5 DOWNS
-6 FORES
-7 FORWA
-7 CONTI
-7 ONWAR
-8 BACK
-8 RETUR
-8 RETRE
-9 VALLE
-10 STAIR
-11 OUT
-11 OUTSI
-11 EXIT
-11 LEAVE
-12 BUILD
-12 HOUSE
-13 GULLY
-14 STREA
-15 FORK
-16 BED
-17 CRAWL
-18 COBBL
-19 INWAR
-19 INSID
-19 IN
-20 SURFA
-21 NULL
-21 NOWHE
-22 DARK
-23 PASSA
-23 TUNNE
-24 LOW
-25 CANYO
-26 AWKWA
-27 GIANT
-28 VIEW
-29 UPWAR
-29 UP
-29 U
-29 ABOVE
-29 ASCEN
-30 D
-30 DOWNW
-30 DOWN
-30 DESCE
-31 PIT
-32 OUTDO
-33 CRACK
-34 STEPS
-35 DOME
-36 LEFT
-37 RIGHT
-38 HALL
-39 JUMP
-40 BARRE
-41 OVER
-42 ACROS
-43 EAST
-43 E
-44 WEST
-44 W
-45 NORTH
-45 N
-46 SOUTH
-46 S
-47 NE
-48 SE
-49 SW
-50 NW
-51 DEBRI
-52 HOLE
-53 WALL
-54 BROKE
-55 Y2
-56 CLIMB
-57 LOOK
-57 EXAMI
-57 TOUCH
-57 DESCR
-58 FLOOR
-59 ROOM
-60 SLIT
-61 SLAB
-61 SLABR
-62 XYZZY
-63 DEPRE
-64 ENTRA
-65 PLUGH
-66 SECRE
-67 CAVE
-69 CROSS
-70 BEDQU
-71 PLOVE
-72 ORIEN
-73 CAVER
-74 SHELL
-75 RESER
-76 MAIN
-76 OFFIC
-1001 KEYS
-1001 KEY
-1002 LAMP
-1002 LANTE
-1003 GRATE
-1004 CAGE
-1005 ROD
-1006 ROD (MUST BE NEXT OBJECT AFTER "REAL" ROD)
-1007 STEPS
-1008 BIRD
-1009 DOOR
-1010 PILLO
-1010 VELVE
-1011 SNAKE
-1012 FISSU
-1013 TABLE
-1014 CLAM
-1015 OYSTE
-1016 MAGAZ
-1016 ISSUE
-1016 SPELU
-1016 "SPEL
-1017 DWARF
-1017 DWARV
-1018 KNIFE
-1018 KNIVE
-1019 FOOD
-1019 RATIO
-1020 BOTTL
-1020 JAR
-1021 WATER
-1021 H2O
-1022 OIL
-1023 MIRRO
-1024 PLANT
-1024 BEANS
-1025 PLANT (MUST BE NEXT OBJECT AFTER "REAL" PLANT)
-1026 STALA
-1027 SHADO
-1027 FIGUR
-1027 WINDO (SAME AS FIGURE)
-1028 AXE
-1029 DRAWI
-1030 PIRAT
-1030 GENIE
-1030 DJINN
-1031 DRAGO
-1032 CHASM
-1033 TROLL
-1034 TROLL (MUST BE NEXT OBJECT AFTER "REAL" TROLL)
-1035 BEAR
-1036 MESSA
-1037 VOLCA
-1037 GEYSE (SAME AS VOLCANO)
-1038 MACHI
-1038 VENDI
-1039 BATTE
-1040 CARPE
-1040 MOSS
-1040 CURTA (SAME AS CARPET)
-1041 OGRE
-1042 URN
-1043 CAVIT
-1044 BLOOD
-1045 RESER (VERB OVERRIDES)
-1046 APPEN
-1046 LEPOR
-1047 MUD
-1048 NOTE
-1049 SIGN
-1050 GOLD
-1050 NUGGE
-1051 DIAMO
-1052 SILVE
-1052 BARS
-1053 JEWEL
-1054 COINS
-1055 CHEST
-1055 BOX
-1055 TREAS
-1056 EGGS
-1056 EGG
-1056 NEST
-1057 TRIDE
-1058 VASE
-1058 MING
-1058 SHARD
-1058 POTTE
-1059 EMERA
-1060 PLATI
-1060 PYRAM
-1061 PEARL
-1062 RUG
-1062 PERSI
-1063 SPICE
-1064 CHAIN
-1065 RUBY
-1066 JADE
-1066 NECKL
-1067 AMBER
-1067 GEMST
-1068 SAPPH
-1069 EBONY
-1069 STATU
-2001 CARRY
-2001 TAKE
-2001 KEEP
-2001 CATCH
-2001 STEAL
-2001 CAPTU
-2001 GET
-2001 TOTE
-2001 SNARF
-2002 DROP
-2002 RELEA
-2002 FREE
-2002 DISCA
-2002 DUMP
-2003 SAY
-2003 CHANT
-2003 SING
-2003 UTTER
-2003 MUMBL
-2004 UNLOC
-2004 OPEN
-2005 NOTHI
-2006 LOCK
-2006 CLOSE
-2007 LIGHT
-2007 ON
-2008 EXTIN
-2008 OFF
-2009 WAVE
-2009 SHAKE
-2009 SWING
-2010 CALM
-2010 PLACA
-2010 TAME
-2011 WALK
-2011 RUN
-2011 TRAVE
-2011 GO
-2011 PROCE
-2011 CONTI
-2011 EXPLO
-2011 FOLLO
-2011 TURN
-2012 ATTAC
-2012 KILL
-2012 FIGHT
-2012 HIT
-2012 STRIK
-2012 SLAY
-2013 POUR
-2014 EAT
-2014 DEVOU
-2015 DRINK
-2016 RUB
-2017 THROW
-2017 TOSS
-2018 QUIT
-2019 FIND
-2019 WHERE
-2020 INVEN
-2021 FEED
-2022 FILL
-2023 BLAST
-2023 DETON
-2023 IGNIT
-2023 BLOWU
-2024 SCORE
-2025 FEE
-2025 FIE
-2025 FOE
-2025 FOO
-2025 FUM
-2026 BRIEF
-2027 READ
-2027 PERUS
-2028 BREAK
-2028 SHATT
-2028 SMASH
-2029 WAKE
-2029 DISTU
-2030 SUSPE
-2030 PAUSE
-2030 SAVE
-2031 RESUM
-2031 RESTA
-2032 FLY
-2033 LISTE
-2034 Z'ZZZ (GETS REPLACED)
-3001 FEE
-3002 FIE
-3003 FOE
-3004 FOO
-3005 FUM
-3013 THANK
-3050 SESAM
-3050 OPENS
-3050 ABRA
-3050 ABRAC
-3050 SHAZA
-3050 HOCUS
-3050 POCUS
-3051 HELP
-3051 ?
-3054 NO
-3064 TREE
-3064 TREES
-3066 DIG
-3066 EXCAV
-3068 LOST
-3069 MIST
-3079 FUCK
-3139 STOP
-3142 INFO
-3142 INFOR
-3147 SWIM
-3246 WIZAR
-3271 YES
-3275 NEWS
--1
-5
-1 Set of keys
-000 There are some keys on the ground here.
-2 Brass lantern
-000 There is a shiny brass lamp nearby.
-100 There is a lamp shining nearby.
-3 *grate
-000 The grate is locked.
-100 The grate is open.
-4 Wicker cage
-000 There is a small wicker cage discarded nearby.
-5 Black rod
-000 A three foot black rod with a rusty star on an end lies nearby.
-6 Black rod
-000 A three foot black rod with a rusty mark on an end lies nearby.
-7 *steps
-000 Rough stone steps lead down the pit.
-100 Rough stone steps lead up the dome.
-8 Little bird in cage
-000 A cheerful little bird is sitting here singing.
-100 There is a little bird in the cage.
-200 A cheerful little bird is sitting here singing.
-300 The bird's singing is quite melodious.
-400 The bird does not seem inclined to sing while in the cage.
-500 It almost seems as though the bird is trying to tell you something.
-600 To your surprise, you can understand the bird's chirping; it is
-600 singing about the joys of its forest home.
-700 The bird does not seem inclined to sing while in the cage.
-800 The bird is singing to you in gratitude for your having returned it to
-800 its home. In return, it informs you of a magic word which it thinks
-800 you may find useful somewhere near the Hall of Mists. The magic word
-800 changes frequently, but for now the bird believes it is "%W". You
-800 thank the bird for this information, and it flies off into the forest.
-9 *rusty door
-000 The way north is barred by a massive, rusty, iron door.
-100 The way north leads through a massive, rusty, iron door.
-10 Velvet pillow
-000 A small velvet pillow lies on the floor.
-11 *snake
-000 A huge green fierce snake bars the way!
-100 %! (chased away)
-200 The snake is hissing venomously.
-12 *fissure
-000 %!
-100 A crystal bridge now spans the fissure.
-200 The crystal bridge has vanished!
-13 *stone tablet
-000 A massive stone tablet imbedded in the wall reads:
-000 "Congratulations on bringing light into the dark-room!"
-100 "Congratulations on bringing light into the dark-room!"
-14 Giant clam >GRUNT!<
-000 There is an enormous clam here with its shell tightly closed.
-100 The clam is as tight-mouthed as a, er, clam.
-15 Giant oyster >GROAN!<
-000 There is an enormous oyster here with its shell tightly closed.
-100 Interesting. There seems to be something written on the underside of
-100 the oyster.
-200 Even though it's an oyster, the critter's as tight-mouthed as a clam.
-300 It says the same thing it did before. Hm, maybe it's a pun?
-16 "Spelunker Today"
-000 There are a few recent issues of "Spelunker Today" magazine here.
-100 I'm afraid the magazine is written in dwarvish. But pencilled on one
-100 cover you see, "Please leave the magazines at the construction site."
-19 Tasty food
-000 There is food here.
-20 Small bottle
-000 There is a bottle of water here.
-100 There is an empty bottle here.
-200 There is a bottle of oil here.
-21 Water in the bottle
-22 Oil in the bottle
-23 *mirror
-000 %!
-24 *plant
-000 There is a tiny little plant in the pit, murmuring "water, water, ..."
-100 There is a 12-foot-tall beanstalk stretching up out of the pit,
-100 bellowing "WATER!! WATER!!"
-200 There is a gigantic beanstalk stretching all the way up to the hole.
-300 The plant spurts into furious growth for a few seconds.
-400 The plant grows explosively, almost filling the bottom of the pit.
-500 You've over-watered the plant! It's shriveling up! And now . . .
-600 The plant continues to ask plaintively for water.
-700 The plant continues to demand water.
-800 The plant now maintains a contented silence.
-25 *phony plant (seen in Twopit Room only when tall enough)
-000 %!
-100 The top of a 12-foot-tall beanstalk is poking out of the west pit.
-200 There is a huge beanstalk growing out of the west pit up to the hole.
-26 *stalactite
-000 %!
-27 *shadowy figure and/or window
-000 The shadowy figure seems to be trying to attract your attention.
-28 Dwarf's axe
-000 There is a little axe here.
-100 There is a little axe lying beside the bear.
-29 *cave drawings
-000 %!
-30 *pirate/genie
-000 %! (never present)
-31 *dragon
-000 A huge green fierce dragon bars the way!
-100 The blood-specked body of a huge green dead dragon lies to one side.
-200 The body of a huge green dead dragon is lying off to one side.
-300 Congratulations! You have just vanquished a dragon with your bare
-300 hands! (Unbelievable, isn't it?)
-400 The dragon's ominous hissing does not bode well for you.
-500 The dragon is, not surprisingly, silent.
-600 The dragon is, not surprisingly, silent.
-32 *chasm
-000 A rickety wooden bridge extends across the chasm, vanishing into the
-000 mist. A notice posted on the bridge reads, "Stop! Pay troll!"
-100 The wreckage of a bridge (and a dead bear) can be seen at the bottom
-100 of the chasm.
-33 *troll
-000 A burly troll stands by the bridge and insists you throw him a
-000 treasure before you may cross.
-100 The troll steps out from beneath the bridge and blocks your way.
-200 %! (chased away)
-300 The troll sounds quite adamant in his demand for a treasure.
-34 *phony troll
-000 The troll is nowhere to be seen.
-35 %! (bear uses rtext 141)
-000 There is a ferocious cave bear eying you from the far end of the room!
-100 There is a gentle cave bear sitting placidly in one corner.
-200 There is a contented-looking bear wandering about nearby.
-300 %! (dead)
-36 *message in second maze
-000 There is a message scrawled in the dust in a flowery script, reading:
-000 "This is not the maze where the pirate leaves his treasure chest."
-100 "This is not the maze where the pirate leaves his treasure chest."
-37 *volcano and/or geyser
-000 %!
-38 *vending machine
-000 There is a massive and somewhat battered vending machine here. The
-000 instructions on it read: "Drop coins here to receive fresh batteries."
-100 "Drop coins here to receive fresh batteries."
-200 As you strike the vending machine, it pivots backward along with a
-200 section of wall, revealing a dark passage leading south.
-300 There is a massive vending machine here, swung back to reveal a
-300 southward passage.
-400 "Drop coins here to receive fresh batteries."
-500 The vending machine swings back to block the passage.
-39 Batteries
-000 There are fresh batteries here.
-100 Some worn-out batteries have been discarded nearby.
-40 *carpet and/or moss and/or curtains
-000 %!
-41 *ogre
-000 A formidable ogre bars the northern exit.
-100 The ogre is apparently the strong, silent type.
-42 *urn
-000 A small urn is embedded in the rock.
-100 A small urn full of oil is embedded in the rock.
-200 A small oil flame extrudes from an urn embedded in the rock.
-43 *cavity
-000 %! (something in it)
-100 There is a small urn-shaped cavity in the rock.
-44 *blood
-000 %! (described with dragon)
-45 *reservoir
-000 %!
-100 The waters have parted to form a narrow path across the reservoir.
-200 The waters crash together again.
-46 Leporine appendage
-000 Your keen eye spots a severed leporine appendage lying on the ground.
-47 *mud
-000 %!
-100 "MAGIC WORD XYZZY"
-48 *note
-000 %!
-100 "You won't get it up the steps"
-49 *sign
-000 %!
-100 Cave under construction beyond this point.
-100 Proceed at own risk.
-100 [Witt Construction Company]
-200 "Treasure Vault. Keys in main office."
-50 Large gold nugget
-000 There is a large sparkling nugget of gold here!
-51 Several diamonds
-000 There are diamonds here!
-52 Bars of silver
-000 There are bars of silver here!
-53 Precious jewelry
-000 There is precious jewelry here!
-54 Rare coins
-000 There are many coins here!
-55 Treasure chest
-000 The pirate's treasure chest is here!
-56 Golden eggs
-000 There is a large nest here, full of golden eggs!
-100 The nest of golden eggs has vanished!
-200 Done!
-57 Jeweled trident
-000 There is a jewel-encrusted trident here!
-58 Ming vase
-000 There is a delicate, precious, ming vase here!
-100 The vase is now resting, delicately, on a velvet pillow.
-200 The floor is littered with worthless shards of pottery.
-300 The ming vase drops with a delicate crash.
-59 Egg-sized emerald
-000 There is an emerald here the size of a plover's egg!
-100 There is an emerald resting in a small cavity in the rock!
-60 Platinum pyramid
-000 There is a platinum pyramid here, 8 inches on a side!
-61 Glistening pearl
-000 Off to one side lies a glistening pearl!
-62 Persian rug
-000 There is a persian rug spread out on the floor!
-100 The dragon is sprawled out on a persian rug!!
-200 There is a persian rug here, hovering in mid-air!
-63 Rare spices
-000 There are rare spices here!
-64 Golden chain
-000 There is a golden chain lying in a heap on the floor!
-100 The bear is locked to the wall with a golden chain!
-200 There is a golden chain locked to the wall!
-65 Giant ruby
-000 There is an enormous ruby here!
-100 There is a ruby resting in a small cavity in the rock!
-66 Jade necklace
-000 A precious jade necklace has been dropped here!
-67 Amber gemstone
-000 There is a rare amber gemstone here!
-100 There is an amber gemstone resting in a small cavity in the rock!
-68 Star sapphire
-000 A brilliant blue star sapphire is here!
-100 There is a star sapphire resting in a small cavity in the rock!
-69 Ebony statuette
-000 There is a richly-carved ebony statuette here!
--1
-6
-1 Somewhere nearby is Colossal Cave, where others have found fortunes in
-1 treasure and gold, though it is rumored that some who enter are never
-1 seen again. Magic is said to work in the cave. I will be your eyes
-1 and hands. Direct me with commands of 1 or 2 words. I should warn
-1 you that I look at only the first five letters of each word, so you'll
-1 have to enter "northeast" as "ne" to distinguish it from "north".
-1 You can type "help" for some general hints. For information on how
-1 to end your adventure, scoring, etc., type "info".
-1 - - -
-1 This program was originally developed by Willie Crowther. Most of the
-1 features of the current program were added by Don Woods. Contact Don
-1 if you have any questions, comments, etc.
-2 A little dwarf with a big knife blocks your way.
-3 A little dwarf just walked around a corner, saw you, threw a little
-3 axe at you which missed, cursed, and ran away.
-4 There are %1 threatening little dwarves in the room with you.
-5 There is a threatening little dwarf in the room with you!
-6 One sharp nasty knife is thrown at you!
-7 A hollow voice says "PLUGH".
-8 It gets you!
-9 It misses!
-10 I am unsure how you are facing. Use compass points or nearby objects.
-11 I don't know in from out here. Use compass points or name something
-11 in the general direction you want to go.
-12 I don't know how to apply that word here.
-13 You're quite welcome.
-14 I'm game. Would you care to explain how?
-15 Sorry, but I am not allowed to give more detail. I will repeat the
-15 long description of your location.
-16 It is now pitch dark. If you proceed you will likely fall into a pit.
-17 If you prefer, simply type w rather than west.
-18 Are you trying to catch the bird?
-19 Something about you seems to be frightening the bird. Perhaps you
-19 might figure out what it is.
-20 Are you trying to somehow deal with the snake?
-21 You can't kill the snake, or drive it away, or avoid it, or anything
-21 like that. There is a way to get by, but you don't have the necessary
-21 resources right now.
-22 Do you really want to quit now?
-23 You fell into a pit and broke every bone in your body!
-24 You are already carrying it!
-25 You can't be serious!
-26 The bird seemed unafraid at first, but as you approach it becomes
-26 disturbed and you cannot catch it.
-27 You can catch the bird, but you cannot carry it.
-28 There is nothing here with a lock!
-29 You aren't carrying it!
-30 The little bird attacks the green snake, and in an astounding flurry
-30 drives the snake away.
-31 You have no keys!
-32 It has no lock.
-33 I don't know how to lock or unlock such a thing.
-34 It was already locked.
-35 The grate is now locked.
-36 The grate is now unlocked.
-37 It was already unlocked.
-38 The urn is empty and will not light.
-39 Your lamp is now on.
-40 Your lamp is now off.
-41 There is no way to get past the bear to unlock the chain, which is
-41 probably just as well.
-42 Nothing happens.
-43 Where?
-44 There is nothing here to attack.
-45 The little bird is now dead. Its body disappears.
-46 Attacking the snake both doesn't work and is very dangerous.
-47 You killed a little dwarf.
-48 You attack a little dwarf, but he dodges out of the way.
-49 With what? Your bare hands?
-50 Good try, but that is an old worn-out magic word.
-51 I know of places, actions, and things. Most of my vocabulary
-51 describes places and is used to move you there. To move, try words
-51 like forest, building, downstream, enter, east, west, north, south,
-51 up, or down. I know about a few special objects, like a black rod
-51 hidden in the cave. These objects can be manipulated using some of
-51 the action words that I know. Usually you will need to give both the
-51 object and action words (in either order), but sometimes I can infer
-51 the object from the verb alone. Some objects also imply verbs; in
-51 particular, "inventory" implies "take inventory", which causes me to
-51 give you a list of what you're carrying. Some objects have unexpected
-51 effects; the effects are not always desirable! Usually people having
-51 trouble moving just need to try a few more words. Usually people
-51 trying unsuccessfully to manipulate an object are attempting something
-51 beyond their (or my!) capabilities and should try a completely
-51 different tack. One point often confusing to beginners is that, when
-51 there are several ways to go in a certain direction (e.g., if there
-51 are several holes in a wall), choosing that direction in effect
-51 chooses one of the ways at random; often, though, by specifying the
-51 place you want to reach you can guarantee choosing the right path.
-51 Also, to speed the game you can sometimes move long distances with a
-51 single word. For example, "building" usually gets you to the building
-51 from anywhere above ground except when lost in the forest. Also, note
-51 that cave passages and forest paths turn a lot, so leaving one place
-51 heading north doesn't guarantee entering the next from the south.
-51 However (another important point), except when you've used a "long
-51 distance" word such as "building", there is always a way to go back
-51 where you just came from unless I warn you to the contrary, even
-51 though the direction that takes you back might not be the reverse of
-51 what got you here. Good luck, and have fun!
-52 There is no way to go that direction.
-53 Please stick to 1- and 2-word commands.
-54 OK
-55 You can't unlock the keys.
-56 You have crawled around in some little holes and wound up back in the
-56 main passage.
-57 I don't know where the cave is, but hereabouts no stream can run on
-57 the surface for long. I would try the stream.
-58 I need more detailed instructions to do that.
-59 I can only tell you what you see as you move about and manipulate
-59 things. I cannot tell you where remote things are.
-60 The ogre snarls and shoves you back.
-61 Huh?
-62 Are you trying to get into the cave?
-63 The grate is very solid and has a hardened steel lock. You cannot
-63 enter without a key, and there are no keys nearby. I would recommend
-63 looking elsewhere for the keys.
-64 The trees of the forest are large hardwood oak and maple, with an
-64 occasional grove of pine or spruce. There is quite a bit of under-
-64 growth, largely birch and ash saplings plus nondescript bushes of
-64 various sorts. This time of year visibility is quite restricted by
-64 all the leaves, but travel is quite easy if you detour around the
-64 spruce and berry bushes.
-65 Welcome to Adventure!! Would you like instructions?
-66 Digging without a shovel is quite impractical. Even with a shovel
-66 progress is unlikely.
-67 Blasting requires dynamite.
-68 I'm as confused as you are.
-69 Mist is a white vapor, usually water, seen from time to time in
-69 caverns. It can be found anywhere but is frequently a sign of a deep
-69 pit leading down to water.
-70 Your feet are now wet.
-71 I think I just lost my appetite.
-72 Thank you, it was delicious!
-73 You have taken a drink from the stream. The water tastes strongly of
-73 minerals, but is not unpleasant. It is extremely cold.
-74 The bottle of water is now empty.
-75 Rubbing the electric lamp is not particularly rewarding. Anyway,
-75 nothing exciting happens.
-76 Peculiar. Nothing unexpected happens.
-77 Your bottle is empty and the ground is wet.
-78 You can't pour that.
-79 Watch it!
-80 Which way?
-81 Oh dear, you seem to have gotten yourself killed. I might be able to
-81 help you out, but I've never really done this before. Do you want me
-81 to try to reincarnate you?
-82 All right. But don't blame me if something goes wr......
-82 --- POOF!! ---
-82 You are engulfed in a cloud of orange smoke. Coughing and gasping,
-82 you emerge from the smoke and find....
-83 You clumsy oaf, you've done it again! I don't know how long I can
-83 keep this up. Do you want me to try reincarnating you again?
-84 Okay, now where did I put my orange smoke?.... >POOF!<
-84 Everything disappears in a dense cloud of orange smoke.
-85 Now you've really done it! I'm out of orange smoke! You don't expect
-85 me to do a decent reincarnation without any orange smoke, do you?
-86 Okay, if you're so smart, do it yourself! I'm leaving!
-90 >>> messages 81 thru 90 are reserved for "obituaries". <<<
-91 Sorry, but I no longer seem to remember how it was you got here.
-92 You can't carry anything more. You'll have to drop something first.
-93 You can't go through a locked steel grate!
-94 I believe what you want is right here with you.
-95 You don't fit through a two-inch slit!
-96 I respectfully suggest you go across the bridge instead of jumping.
-97 There is no way across the fissure.
-98 You're not carrying anything.
-99 You are currently holding the following:
-100 It's not hungry (it's merely pinin' for the fjords). Besides, you
-100 have no bird seed.
-101 The snake has now devoured your bird.
-102 There's nothing here it wants to eat (except perhaps you).
-103 You fool, dwarves eat only coal! Now you've made him *REALLY* mad!!
-104 You have nothing in which to carry it.
-105 Your bottle is already full.
-106 There is nothing here with which to fill the bottle.
-107 Your bottle is now full of water.
-108 Your bottle is now full of oil.
-109 You can't fill that.
-110 Don't be ridiculous!
-111 The door is extremely rusty and refuses to open.
-112 The plant indignantly shakes the oil off its leaves and asks, "Water?"
-113 The hinges are quite thoroughly rusted now and won't budge.
-114 The oil has freed up the hinges so that the door will now move,
-114 although it requires some effort.
-115 The plant has exceptionally deep roots and cannot be pulled free.
-116 The dwarves' knives vanish as they strike the walls of the cave.
-117 Something you're carrying won't fit through the tunnel with you.
-117 You'd best take inventory and drop something.
-118 You can't fit this five-foot clam through that little passage!
-119 You can't fit this five-foot oyster through that little passage!
-120 I advise you to put down the clam before opening it. >STRAIN!<
-121 I advise you to put down the oyster before opening it. >WRENCH!<
-122 You don't have anything strong enough to open the clam.
-123 You don't have anything strong enough to open the oyster.
-124 A glistening pearl falls out of the clam and rolls away. Goodness,
-124 this must really be an oyster. (I never was very good at identifying
-124 bivalves.) Whatever it is, it has now snapped shut again.
-125 The oyster creaks open, revealing nothing but oyster inside. It
-125 promptly snaps shut again.
-126 You have crawled around in some little holes and found your way
-126 blocked by a recent cave-in. You are now back in the main passage.
-127 There are faint rustling noises from the darkness behind you.
-128 Out from the shadows behind you pounces a bearded pirate! "Har, har,"
-128 he chortles, "I'll just take all this booty and hide it away with me
-128 chest deep in the maze!" He snatches your treasure and vanishes into
-128 the gloom.
-129 A sepulchral voice reverberating through the cave, says, "Cave closing
-129 soon. All adventurers exit immediately through main office."
-130 A mysterious recorded voice groans into life and announces:
-130 "This exit is closed. Please leave via main office."
-131 It looks as though you're dead. Well, seeing as how it's so close to
-131 closing time anyway, I think we'll just call it a day.
-132 The sepulchral voice intones, "The cave is now closed." As the echoes
-132 fade, there is a blinding flash of light (and a small puff of orange
-132 smoke). . . . As your eyes refocus, you look around and find...
-133 There is a loud explosion, and a twenty-foot hole appears in the far
-133 wall, burying the dwarves in the rubble. You march through the hole
-133 and find yourself in the main office, where a cheering band of
-133 friendly elves carry the conquering adventurer off into the sunset.
-134 There is a loud explosion, and a twenty-foot hole appears in the far
-134 wall, burying the snakes in the rubble. A river of molten lava pours
-134 in through the hole, destroying everything in its path, including you!
-135 There is a loud explosion, and you are suddenly splashed across the
-135 walls of the room.
-136 The resulting ruckus has awakened the dwarves. There are now several
-136 threatening little dwarves in the room with you! Most of them throw
-136 knives at you! All of them get you!
-137 Oh, leave the poor unhappy bird alone.
-138 I daresay whatever you want is around here somewhere.
-139 I don't know the word "stop". Use "quit" if you want to give up.
-140 You can't get there from here.
-141 You are being followed by a very large, tame bear.
-142 For a summary of the most recent changes to the game, say "news".
-142 If you want to end your adventure early, say "quit". To suspend your
-142 adventure such that you can continue later, say "suspend" (or "pause"
-142 or "save"). To see how well you're doing, say "score". To get full
-142 credit for a treasure, you must have left it safely in the building,
-142 though you get partial credit just for locating it. You lose points
-142 for getting killed, or for quitting, though the former costs you more.
-142 There are also points based on how much (if any) of the cave you've
-142 managed to explore; in particular, there is a large bonus just for
-142 getting in (to distinguish the beginners from the rest of the pack),
-142 and there are other ways to determine whether you've been through some
-142 of the more harrowing sections. If you think you've found all the
-142 treasures, just keep exploring for a while. If nothing interesting
-142 happens, you haven't found them all yet. If something interesting
-142 *DOES* happen (incidentally, there *ARE* ways to hasten things along),
-142 it means you're getting a bonus and have an opportunity to garner many
-142 more points in the Master's section. I may occasionally offer hints
-142 if you seem to be having trouble. If I do, I'll warn you in advance
-142 how much it will affect your score to accept the hints. Finally, to
-142 save time, you may specify "brief", which tells me never to repeat the
-142 full description of a place unless you explicitly ask me to.
-143 Now let's see you do it without suspending in mid-Adventure.
-144 There is nothing here with which to fill it.
-145 The sudden change in temperature has delicately shattered the vase.
-146 It is beyond your power to do that.
-147 I don't know how.
-148 It is too far up for you to reach.
-149 You killed a little dwarf. The body vanishes in a cloud of greasy
-149 black smoke.
-150 The shell is very strong and is impervious to attack.
-151 What's the matter, can't you read? Now you'd best start over.
-152 The axe bounces harmlessly off the dragon's thick scales.
-153 The dragon looks rather nasty. You'd best not try to get by.
-154 The little bird attacks the green dragon, and in an astounding flurry
-154 gets burnt to a cinder. The ashes blow away.
-155 On what?
-156 Okay, from now on I'll only describe a place in full the first time
-156 you come to it. To get the full description, say "look".
-157 Trolls are close relatives with the rocks and have skin as tough as
-157 that of a rhinoceros. The troll fends off your blows effortlessly.
-158 The troll deftly catches the axe, examines it carefully, and tosses it
-158 back, declaring, "Good workmanship, but it's not valuable enough."
-159 The troll catches your treasure and scurries away out of sight.
-160 The troll refuses to let you cross.
-161 There is no longer any way across the chasm.
-162 Just as you reach the other side, the bridge buckles beneath the
-162 weight of the bear, which was still following you around. You
-162 scrabble desperately for support, but as the bridge collapses you
-162 stumble back and fall into the chasm.
-163 The bear lumbers toward the troll, who lets out a startled shriek and
-163 scurries away. The bear soon gives up the pursuit and wanders back.
-164 The axe misses and lands near the bear where you can't get at it.
-165 With what? Your bare hands? Against *HIS* bear hands??
-166 The bear is confused; he only wants to be your friend.
-167 For crying out loud, the poor thing is already dead!
-168 The bear eagerly wolfs down your food, after which he seems to calm
-168 down considerably and even becomes rather friendly.
-169 The bear is still chained to the wall.
-170 The chain is still locked.
-171 The chain is now unlocked.
-172 The chain is now locked.
-173 There is nothing here to which the chain can be locked.
-174 There is nothing here to eat.
-175 Do you want the hint?
-176 Do you need help getting out of the maze?
-177 You can make the passages look less alike by dropping things.
-178 Are you trying to explore beyond the plover room?
-179 There is a way to explore that region without having to worry about
-179 falling into a pit. None of the objects available is immediately
-179 useful in discovering the secret.
-180 Do you need help getting out of here?
-181 Don't go west.
-182 Gluttony is not one of the troll's vices. Avarice, however, is.
-183 Your lamp is getting dim. You'd best start wrapping this up, unless
-183 you can find some fresh batteries. I seem to recall there's a vending
-183 machine in the maze. Bring some coins with you.
-184 Your lamp has run out of power.
-185 Please answer the question.
-186 There are faint rustling noises from the darkness behind you. As you
-186 turn toward them, the beam of your lamp falls across a bearded pirate.
-186 He is carrying a large chest. "Shiver me timbers!" he cries, "I've
-186 been spotted! I'd best hie meself off to the maze to hide me chest!"
-186 With that, he vanishes into the gloom.
-187 Your lamp is getting dim. You'd best go back for those batteries.
-188 Your lamp is getting dim. I'm taking the liberty of replacing the
-188 batteries.
-189 Your lamp is getting dim, and you're out of spare batteries. You'd
-189 best start wrapping this up.
-190 You sift your fingers through the dust, but succeed only in
-190 obliterating the cryptic message.
-191 Do you need help dealing with the ogre?
-192 Hmmm, this looks like a clue, which means it'll cost you 10 points to
-192 read it. Should I go ahead and read it anyway?
-193 It says, "There is a way out of this place. Do you need any more
-193 information to escape? Sorry, but this initial hint is all you get."
-194 There is nothing the presence of which will prevent you from defeating
-194 him; thus it can't hurt to fetch everything you possibly can.
-195 I'm afraid I don't understand.
-196 Your hand passes through it as though it weren't there.
-197 You strike the mirror a resounding blow, whereupon it shatters into a
-197 myriad tiny fragments.
-198 You have taken the vase and hurled it delicately to the ground.
-199 You prod the nearest dwarf, who wakes up grumpily, takes one look at
-199 you, curses, and grabs for his axe.
-200 Is this acceptable?
-201 This adventure is already over. To start a new adventure, or to
-201 resume an earlier adventure, please run a fresh copy of the program.
-202 The ogre doesn't appear to be hungry.
-203 The ogre, who despite his bulk is quite agile, easily dodges your
-203 attack. He seems almost amused by your puny effort.
-204 The ogre, distracted by your rush, is struck by the knife. With a
-204 blood-curdling yell he turns and bounds after the dwarves, who flee
-204 in panic. You are left alone in the room.
-205 The ogre, distracted by your rush, is struck by the knife. With a
-205 blood-curdling yell he turns and bounds after the dwarf, who flees
-205 in panic. You are left alone in the room.
-206 The bird flies about agitatedly for a moment.
-207 The bird flies agitatedly about the cage.
-208 The bird flies about agitatedly for a moment, then disappears through
-208 the crack. It reappears shortly, carrying in its beak a jade
-208 necklace, which it drops at your feet.
-209 The urn is now lit.
-210 The urn is now dark.
-211 You empty the bottle into the urn, which promptly ejects the water
-211 with uncanny accuracy, squirting you directly between the eyes.
-212 Your bottle is now empty and the urn is full of oil.
-213 The urn is already full of oil.
-214 There's no way to get the oil out of the urn.
-215 The urn is far too firmly embedded for your puny strength to budge it.
-216 As you rub the urn, there is a flash of light and a genie appears.
-216 His aspect is stern as he advises: "One who wouldst traffic in
-216 precious stones must first learn to recognize the signals thereof."
-216 He wrests the urn from the stone, leaving a small cavity. Turning to
-216 face you again, he fixes you with a steely eye and intones: "Caution!"
-216 Genie and urn vanish in a cloud of amber smoke. The smoke condenses
-216 to form a rare amber gemstone, resting in the cavity in the rock.
-217 I suppose you collect doughnut holes, too?
-218 The gem fits easily into the cavity.
-219 The persian rug stiffens and rises a foot or so off the ground.
-220 The persian rug draped over your shoulder seems to wriggle for a
-220 moment, but then subsides.
-221 The persian rug settles gently to the ground.
-222 The rug hovers stubbornly where it is.
-223 The rug does not appear inclined to cooperate.
-224 If you mean to use the persian rug, it does not appear inclined to
-224 cooperate.
-225 Though you flap your arms furiously, it is to no avail.
-226 You board the persian rug, which promptly whisks you across the chasm.
-226 You have time for a fleeting glimpse of a two thousand foot drop to a
-226 mighty river; then you find yourself on the other side.
-227 The rug ferries you back across the chasm.
-228 All is silent.
-229 The stream is gurgling placidly.
-230 The wind whistles coldly past your ears.
-231 The stream splashes loudly into the pool.
-232 You are unable to make anything of the splashing noise.
-233 You can hear the murmuring of the beanstalks and the snoring of the
-233 dwarves.
-234 A loud hissing emanates from the snake pit.
-235 The air is filled with a dull rumbling sound.
-236 The roar is quite loud here.
-237 The roaring is so loud that it drowns out all other sound.
-238 The bird eyes you suspiciously and flutters away. A moment later you
-238 feel something wet land on your head, but upon looking up you can see
-238 no sign of the culprit.
-239 There are only a few drops--not enough to carry.
-240 Your head buzzes strangely for a moment.
-241 (Uh, y'know, that wasn't very bright.)
-242 It's a pity you took so long about it.
-243 Are you wondering what to do here?
-244 This section is quite advanced. Find the cave first.
-245 Upstream or downstream?
-246 Wizards are not to be disturbed by such as you.
-247 Would you like to be shown out of the forest?
-248 Go east ten times. If that doesn't get you out, then go south, then
-248 west twice, then south.
-249 The waters are crashing loudly against the shore.
-250 %1 of them throw knives at you!
-251 %1 of them get you!
-252 One of them gets you!
-253 None of them hits you!
-254 Sorry, I don't know the word "%W".
-255 What do you want to do with the %L?
-256 I see no %L here.
-257 %C what?
-258 Okay, "%W".
-259 You have garnered %3 out of a possible %3 points, using %5 turn%S.
-260 I can suspend your Adventure for you so that you can resume later, but
-260 it will cost you 5 points.
-261 I am prepared to give you a hint, but it will cost you %1 point%S.
-262 You scored %3 out of a possible %3, using%5 turn%S.
-263 To achieve the next higher rating, you need %2 more point%S.
-264 To achieve the next higher rating would be a neat trick!
-264 Congratulations!!
-265 You just went off my scale!!
-266 To resume your Adventure, start a new game and then say "RESUME".
-267 Table space used:
-267 %6 of %6 words of messages %6 of %6 travel options
-267 %6 of %6 vocabulary words %6 of %6 locations
-267 %6 of %6 objects %6 of %6 action verbs
-267 %6 of %6 "random" messages %6 of %6 "class" messages
-267 %6 of %6 hints %6 of %6 turn threshholds
-268 To resume an earlier Adventure, you must abandon the current one.
-269 I'm sorry, but that Adventure was begun using Version%2.%1 of the
-269 program, and this is Version%2.%1. You must find the other version
-269 in order to resume that Adventure.
-270 A dark fog creeps in to surround you. From somewhere in the fog you
-270 hear a stern voice. "This Adventure has been tampered with! You have
-270 been dabbling in magic, knowing not the havoc you might cause thereby.
-270 Leave at once, before you do irrevocable harm!" The fog thickens,
-270 until at last you can see nothing at all. Your vision then clears,
-270 and you find yourself back in The Real World.
-271 Guess again.
-272 You're missing only one other treasure. Do you need help finding it?
-273 Once you've found all the other treasures, it is no longer possible to
-273 locate the one you're now missing.
-274 Sorry, but the path twisted and turned so much that I can't figure
-274 out which way to go to get back.
-275 Version 2.5 is essentially the same as Version II; the cave and the
-275 hazards therein are unchanged, and top score is still 430 points.
-275 There are a few more hints, especially for some of the more obscure
-275 puzzles. There are a few minor bugfixes and cosmetic changes. You
-275 can now save a game and resume it at once (formerly you had to wait a
-275 while first), but it now costs you a few points each time you save the
-275 game. Saved games are now stored in much smaller files than before.
-276 You don't have to say "go" every time; just specify a direction or, if
-276 it's nearby, name the place to which you wish to move.
--1
-7
-1 3
-2 3
-3 8 9
-4 10
-5 11
-6 0
-7 14 15
-8 13
-9 94 -1
-10 96
-11 19 -1
-12 17 27
-13 101 -1
-14 103
-15 0
-16 106
-17 0 -1
-18 0
-19 3
-20 3
-21 0
-22 0
-23 109 -1
-24 25 -1
-25 23 67
-26 111 -1
-27 35 110
-28 0
-29 97 -1
-30 0 -1
-31 119 121
-32 117 122
-33 117 122
-34 0 0
-35 130 -1
-36 0 -1
-37 126 -1
-38 140 -1
-39 0
-40 96 -1
-41 143 -1
-42 6 -1
-43 0 -1
-44 0 -1
-45 113 169
-46 166
-47 11 -1
-48 18 -1
-49 106 -1
-50 18
-51 27
-52 28
-53 29
-54 30
-55 0
-56 92
-57 95
-58 97
-59 100
-60 101
-61 0
-62 119 121
-63 127
-64 130 -1
-65 144
-66 0
-67 0
-68 167
-69 177
--1
-8
-1 24
-2 29
-3 0
-4 33
-5 0
-6 33
-7 195
-8 195
-9 42
-10 14
-11 43
-12 110
-13 29
-14 110
-15 73
-16 75
-17 29
-18 61
-19 59
-20 59
-21 174
-22 109
-23 67
-24 61
-25 147
-26 155
-27 195
-28 146
-29 110
-30 61
-31 61
-32 14
-33 195
-34 42
-35 61
--1
-9
-0 1 2 3 4 5 6 7 8 9 10
-0 100 115 116 126 145 146 147 148 149 150
-0 151 152 153 154 155 156 157 158 159 160
-0 161 162 163 164 165 166 167
-2 1 3 4 7 38 95 113 24 168 169
-1 24
-3 46 47 48 54 56 58 82 85 86
-3 122 123 124 125 126 127 128 129 130
-4 6 145 146 147 148 149 150 151 152
-4 153 154 155 156 157 158 159 160 161
-4 162 163 164 165 166 42 43 44 45
-4 49 50 51 52 53 55 57 80 83
-4 84 87 107 112 131 132 133 134 135
-4 136 137 138 139 108
-11 8
-12 13
-13 19
-14 42 43 44 45 46 47 48 49 50 51
-14 52 53 54 55 56 80 81 82 86 87
-15 99 100 101
-16 108
-17 6
-18 145 146 147 148 149 150 151 152 153 154
-18 155 156 157 158 159 160 161 162 163 164
-18 165 166
-19 143
-20 8 15 64 109 126
--1
-10
-45 You are obviously a rank amateur. Better luck next time.
-120 Your score qualifies you as a novice class adventurer.
-170 You have achieved the rating: "Experienced Adventurer".
-250 You may now consider yourself a "Seasoned Adventurer".
-320 You have reached "Junior Master" status.
-375 Your score puts you in Master Adventurer Class C.
-410 Your score puts you in Master Adventurer Class B.
-426 Your score puts you in Master Adventurer Class A.
-429 All of Adventuredom gives tribute to you, Adventurer Grandmaster!
-9999 Adventuredom stands in awe -- you have now joined the ranks of the
-9999 W O R L D C H A M P I O N A D V E N T U R E R S !
-9999 It may interest you to know that the Dungeon-Master himself has, to
-9999 my knowledge, never achieved this threshhold in fewer than 330 turns.
--1
-11
-1 4 2 62 63
-2 5 2 18 19
-3 8 2 20 21
-4 75 4 176 177
-5 25 5 178 179
-6 20 3 180 181
-7 8 2 243 244
-8 25 2 247 248
-9 10 4 191 194
-10 1 4 272 273
--1
-13
-8 3 -1
-11 2 -1
-13 -1 1
-14 1 -1
-15 2 -1
-16 -1 1
-24 6 -1
-31 4 -1
-33 3 -1
-36 -1 1
-38 -1 1
-41 1 -1
-47 -1 1
-48 -1 1
-49 -1 1
-1 229
-3 229
-4 229
-7 229
-15 230
-38 229
-64 230
-94 230
-95 231
-98 232
-109 230
-113 231
-115 233
-116 234
-123 235
-124 235
-125 236
-126 -237
-127 235
-168 -237
-169 249
--1
-14
-200350 Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
-200350 you a couple of points.
-300500 500 turns? That's another few points you've lost.
-501000 Are you still at it? Five points off for exceeding 1000 turns!
-1002500 Good grief, don't you *EVER* give up? Do you realize you've spent
-1002500 over 2500 turns at this? That's another ten points off, a total of
-1002500 twenty points lost for taking so long.
--1
-0
diff --git a/adventure.yaml b/adventure.yaml
new file mode 100644
index 0000000..141ffb7
--- /dev/null
+++ b/adventure.yaml
@@ -0,0 +1,4239 @@
+# SPDX-FileCopyrightText: (C) Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#
+# batchspell: add XYZZY Twopit Bedquilt ne se sw nw dwarves dwarvish gouts
+# batchspell: add Crowther add axe pinin Har har meself Hmmm Adventuredom
+# batchspell: add Tsk gameplay bugfixes
+#
+# This YAML file gets processed into a collection of data structures and
+# variable initializers describing Colossal Cave. It replaces an ad-hoc
+# text database shipped with Adventure versions up to 2.5. The format
+# change enabled a lot of use of symbolic names where there were previously
+# inscrutable numeric literals.
+#
+# We define a bunch of YAML structures:
+#
+# motions: Motion words, grouped into synonyms. The 'oldstyle'
+# attribute, if false, means that single-letter synonyms should not be
+# accepted in oldstyle mode; it defaults to true.
+#
+# actions: Action words, grouped into synonyms, and their corresponding
+# default messages. The 'oldstyle' attribute is as for motions.
+#
+# hints: Each item contains a hint number, a hint label (used to
+# generate the value macro for the hint) the number of turns he
+# must be at the right loc(s) before triggering the hint, the
+# points deducted for taking the hint, the message number (in
+# arbitrary_messages) of the question, and the message number of
+# the hint.
+#
+# locations: They have attributes as follows...
+# long: Long description, always shown on first encounter.
+# short: Short description. If none, use long description.
+# maptag: Tag for mapping, not used by the game itself.
+# Only used if the "short" property is !!null.
+# conditions: A dictionary of attributes
+# LIT Light
+# OILY If FLUID flag is on: true for oil, false for water
+# FLUID Liquid asset
+# NOARRR Pirate doesn't go here unless following player
+# NOBACK Cannot use "back" to move away
+# ALLDIFFERENT Part of the maze all different (used in grapher only)
+# ALLALIKE Part of the maze all alike (used in grapher only)
+# HCAVE Trying to get into cave
+# HBIRD Trying to catch bird
+# HSNAKE Trying to deal with snake
+# HMAZE Lost in maze
+# HDARK Pondering dark room
+# HWITT At Witt's End
+# HCLIFF Cliff with urn
+# HWOODS Lost in forest
+# HOGRE Trying to deal with ogre
+# HJADE Found all treasures except jade
+# hints: A list of YAML references to hints that may be available at
+# this location. (This is why locations has to follow hints.)
+# sound: Label for a location sound.
+# loud: If true, object sounds are drowned out at this location.
+# travel: A list of movement rules. They're applied in the order
+# they appear. For a rule to fire, (1) the movement command
+# must be a synonym for one of its verbs, and (2) the
+# condition, if present, must evaluate to true. In that case
+# the action fires. The action may be a goto (move to
+# a named location) a speak (utter a named message), or
+# a special (branch to special case in movement code).
+# The conditional may be one of the following:
+# [pct, N] Roll a die, n% chance of success
+# [carry, OBJ] Must be carrying named object
+# [with, OBJ] Must be carrying or in room with
+# [not, OBJ N] Property of named OBJ must not be N.
+# N may be numeric or a state label.
+# [nodwarves] Dwarves must skip this rule.
+# All attributes are optional except the long description and
+# travel. Order of locations is not significant.
+#
+# arbitrary_messages: These are arguments to rspeak(). Order is
+# not significant.
+#
+# classes: Each item contains a point threshold and a message
+# describing a classification of player. Point thresholds must be
+# in ascending order. The scoring code selects the appropriate
+# message, where each message is considered to apply to players
+# whose scores are higher than the previous N but not higher than
+# this N. Note that these scores probably change with every
+# modification (and particularly expansion) of the program.
+#
+# turn_thresholds: Each item contains a number and a message
+# berating the player for taking so many turns. When the turn count
+# matches one of the thresholds, the corresponding message is shown.
+# Order doesn't matter; the logic simply tests every threshold on
+# the assumption that turn counts never decrease nor skip values.
+#
+# objects: Objects that are referenced in C code or the YAML by name
+# have human-readable names; others are named OBJ with a numeric suffix.
+# Objects have attributes as follows...
+# inventory: A description for use in the inventory command.
+# states: A list of state labels for states from 0 up. Each
+# becomes a #define, and is also a state label that
+# can be used in travel-rule 'not' clauses.
+# descriptions: Messages describing the object in different states.
+# Must correspond 1:1 with state labels if the latter exist.
+# changes: State-change messages to be emitted whenever the object
+# *changes* to the (0-origin) state that is the index of the
+# message in this array. Must correspond 1:1 with state
+# labels if the latter exist.
+# words: The vocabulary word(s) referring to this object.
+# treasure: A boolean "treasure" used for point-scoring and pirate
+# snatches, defaulting to false.
+# immovable: An object may also be flagged
+# immovable, meaning it cannot be carried.
+# locations: An object may have one or two start locations (the gate
+# is an example of a two-location object; it can be accessed
+# from above or below).
+#
+# obituaries: Death messages and reincarnation queries. Order is
+# significant, they're used in succession as the player racks up
+# deaths.
+#
+# Message strings may include certain special character sequences to
+# denote that the program must provide parameters to insert into a
+# message when the message is printed. These sequences are:
+# %d = an integer
+# %s = an ASCII string
+# %S = the letter 's' or nothing (if a previous %d value is exactly 1)
+# %V = substitute program version string
+#
+
+# Motion names of the form MOT_* are not explicitly referenced in the
+# locations YAML, but usually get compiled into generated C.
+motions: !!omap
+- MOT_0:
+ words: !!null
+- HERE:
+ words: !!null
+- MOT_2:
+ words: ['road', 'hill']
+- ENTER:
+ words: ['enter']
+- MOT_4:
+ words: ['upstr']
+- MOT_5:
+ words: ['downs']
+- MOT_6:
+ words: ['fores']
+- FORWARD:
+ words: ['forwa', 'conti', 'onwar']
+- BACK:
+ words: ['back', 'retur', 'retre']
+- MOT_9:
+ words: ['valle']
+- MOT_10:
+ words: ['stair']
+- OUTSIDE:
+ words: ['out', 'outsi', 'exit', 'leave']
+- MOT_12:
+ words: ['build', 'house']
+- MOT_13:
+ words: ['gully']
+- STREAM:
+ words: ['strea']
+- MOT_15:
+ words: ['fork']
+- MOT_16:
+ words: ['bed']
+- CRAWL:
+ words: ['crawl']
+- MOT_18:
+ words: ['cobbl']
+- INSIDE:
+ words: ['inwar', 'insid', 'in']
+- MOT_20:
+ words: ['surfa']
+- NUL:
+ words: ['null', 'nowhe']
+- MOT_22:
+ words: ['dark']
+- MOT_23:
+ words: ['passa', 'tunne']
+- MOT_24:
+ words: ['low']
+- MOT_25:
+ words: ['canyo']
+- MOT_26:
+ words: ['awkwa']
+- MOT_27:
+ words: ['giant']
+- MOT_28:
+ words: ['view']
+- UP:
+ words: ['upwar', 'up', 'u', 'above', 'ascen']
+- DOWN:
+ words: ['d', 'downw', 'down', 'desce']
+- MOT_31:
+ words: ['pit']
+- MOT_32:
+ words: ['outdo']
+- MOT_33:
+ words: ['crack']
+- MOT_34:
+ words: ['steps']
+- MOT_35:
+ words: ['dome']
+- LEFT:
+ words: ['left']
+- RIGHT:
+ words: ['right']
+- MOT_38:
+ words: ['hall']
+- MOT_39:
+ words: ['jump']
+- MOT_40:
+ words: ['barre']
+- MOT_41:
+ words: ['over']
+- MOT_42:
+ words: ['acros']
+- EAST:
+ words: ['east', 'e']
+- WEST:
+ words: ['west', 'w']
+- NORTH:
+ words: ['north', 'n']
+- SOUTH:
+ words: ['south', 's']
+- NE:
+ words: ['ne']
+- SE:
+ words: ['se']
+- SW:
+ words: ['sw']
+- NW:
+ words: ['nw']
+- MOT_51:
+ words: ['debri']
+- MOT_52:
+ words: ['hole']
+- MOT_53:
+ words: ['wall']
+- MOT_54:
+ words: ['broke']
+- MOT_55:
+ words: ['y2']
+- MOT_56:
+ words: ['climb']
+- LOOK:
+ words: ['l', 'x', 'look', 'exami', 'touch', 'descr']
+ oldstyle: false
+- MOT_58:
+ words: ['floor']
+- MOT_59:
+ words: ['room']
+- MOT_60:
+ words: ['slit']
+- MOT_61:
+ words: ['slab', 'slabr']
+- XYZZY:
+ words: ['xyzzy']
+- DEPRESSION:
+ words: ['depre']
+- ENTRANCE:
+ words: ['entra']
+- PLUGH:
+ words: ['plugh']
+- MOT_66:
+ words: ['secre']
+- CAVE:
+ words: ['cave']
+- CROSS:
+ words: ['cross']
+- BEDQUILT:
+ words: ['bedqu']
+- PLOVER:
+ words: ['plove']
+- ORIENTAL:
+ words: ['orien']
+- CAVERN:
+ words: ['caver']
+- SHELLROOM:
+ words: ['shell']
+- RESERVOIR:
+ words: ['reser']
+- OFFICE:
+ words: ['main', 'offic']
+
+hints:
+ - hint: &grate
+ name: CAVE
+ number: 1
+ turns: 4
+ penalty: 2
+ question: 'Are you trying to get into the cave?'
+ hint: |-
+ The grate is very solid and has a hardened steel lock. You cannot
+ enter without a key, and there are no keys nearby. I would recommend
+ looking elsewhere for the keys.
+ - hint: &bird
+ name: BIRD
+ number: 2
+ turns: 5
+ penalty: 2
+ question: 'Are you trying to catch the bird?'
+ hint: |-
+ Something about you seems to be frightening the bird. Perhaps you
+ might figure out what it is.
+ - hint: &snake
+ name: SNAKE
+ number: 3
+ turns: 8
+ penalty: 2
+ question: 'Are you trying to somehow deal with the snake?'
+ hint: |-
+ You can't kill the snake, or drive it away, or avoid it, or anything
+ like that. There is a way to get by, but you don't have the necessary
+ resources right now.
+ - hint: &maze
+ name: MAZE
+ number: 4
+ turns: 75
+ penalty: 4
+ question: 'Do you need help getting out of the maze?'
+ hint: 'You can make the passages look less alike by dropping things.'
+ - hint: &dark
+ name: DARK
+ number: 5
+ turns: 25
+ penalty: 5
+ question: 'Are you trying to explore beyond the plover room?'
+ hint: |-
+ There is a way to explore that region without having to worry about
+ falling into a pit. None of the objects available is immediately
+ useful in discovering the secret.
+ - hint: &witt
+ name: WITT
+ number: 6
+ turns: 20
+ penalty: 3
+ question: 'Do you need help getting out of here?'
+ hint: 'Don''t go west.\n'
+ - hint: &urn
+ name: CLIFF
+ number: 7
+ turns: 8
+ penalty: 2
+ question: 'Are you wondering what to do here?'
+ hint: 'This section is quite advanced. Find the cave first.\n'
+ - hint: &forest
+ name: WOODS
+ number: 8
+ turns: 25
+ penalty: 2
+ question: 'Would you like to be shown out of the forest?'
+ hint: |-
+ Go east ten times. If that doesn't get you out, then go south, then
+ west twice, then south.
+ - hint: &ogre
+ name: OGRE
+ number: 9
+ turns: 10
+ penalty: 4
+ question: 'Do you need help dealing with the ogre?'
+ hint: |-
+ There is nothing the presence of which will prevent you from defeating
+ him; thus it can't hurt to fetch everything you possibly can.
+ - hint: &jade
+ name: JADE
+ number: 10
+ turns: 1
+ penalty: 4
+ question: 'You''re missing only one other treasure. Do you need help finding it?'
+ hint: |-
+ Once you've found all the other treasures, it is no longer possible to
+ locate the one you're now missing.
+
+locations: !!omap
+- LOC_NOWHERE:
+ description:
+ long: !!null
+ short: !!null
+ maptag: 'Nowhere'
+ conditions: {}
+ travel: [
+ ]
+- LOC_START:
+ description:
+ long: |-
+ You are standing at the end of a road before a small brick building.
+ Around you is a forest. A small stream flows out of the building and
+ down a gully.
+ short: 'You''re in front of building.'
+ maptag: !!null
+ conditions: {FLUID: true, ABOVE: true, LIT: true}
+ sound: STREAM_GURGLES
+ travel: [
+ {verbs: [ROAD, WEST, UPWAR], action: [goto, LOC_HILL]},
+ {verbs: [ENTER, BUILD, INWAR, EAST], action: [goto, LOC_BUILDING]},
+ {verbs: [DOWNS, GULLY, STREA, SOUTH, DOWN], action: [goto, LOC_VALLEY]},
+ {verbs: [FORES, NORTH], action: [goto, LOC_FOREST1]},
+ {verbs: [DEPRE], action: [goto, LOC_GRATE]},
+ ]
+- LOC_HILL:
+ description:
+ long: |-
+ You have walked up a hill, still in the forest. The road slopes back
+ down the other side of the hill. There is a building in the distance.
+ short: 'You''re at hill in road.'
+ maptag: !!null
+ conditions: {ABOVE: true, LIT: true}
+ travel: [
+ {verbs: [BUILD, EAST], action: [goto, LOC_START]},
+ {verbs: [WEST], action: [goto, LOC_ROADEND]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST20]},
+ {verbs: [SOUTH, FORES], action: [goto, LOC_FOREST13]},
+ {verbs: [DOWN], action: [speak, WHICH_WAY]},
+ ]
+- LOC_BUILDING:
+ description:
+ long: 'You are inside a building, a well house for a large spring.'
+ short: 'You''re inside building.'
+ maptag: !!null
+ conditions: {FLUID: true, ABOVE: true, LIT: true}
+ sound: STREAM_GURGLES
+ travel: [
+ {verbs: [OUT, OUTDO, WEST], action: [goto, LOC_START]},
+ {verbs: [XYZZY], action: [goto, LOC_FOOF1]},
+ {verbs: [PLUGH], action: [goto, LOC_FOOF3]},
+ {verbs: [DOWNS, STREA], action: [goto, LOC_SEWER]},
+ ]
+- LOC_VALLEY:
+ description:
+ long: |-
+ You are in a valley in the forest beside a stream tumbling along a
+ rocky bed.
+ short: 'You''re in valley.'
+ maptag: !!null
+ conditions: {FLUID: true, ABOVE: true, LIT: true}
+ sound: STREAM_GURGLES
+ travel: [
+ {verbs: [UPSTR, BUILD, NORTH], action: [goto, LOC_START]},
+ {verbs: [EAST, FORES], action: [goto, LOC_FOREST6]},
+ {verbs: [WEST], action: [goto, LOC_FOREST12]},
+ {verbs: [DOWNS, SOUTH, DOWN], action: [goto, LOC_SLIT]},
+ {verbs: [DEPRE], action: [goto, LOC_GRATE]},
+ {verbs: [STREA], action: [speak, UPSTREAM_DOWNSTREAM]},
+ ]
+- LOC_ROADEND:
+ description:
+ long: 'The road, which approaches from the east, ends here amid the trees.'
+ short: 'You''re at end of road.'
+ maptag: !!null
+ conditions: {ABOVE: true, LIT: true}
+ travel: [
+ {verbs: [ROAD, EAST, UPWAR], action: [goto, LOC_HILL]},
+ {verbs: [BUILD], action: [goto, LOC_START]},
+ {verbs: [SOUTH, FORES], action: [goto, LOC_FOREST14]},
+ {verbs: [WEST], action: [goto, LOC_FOREST15]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST21]},
+ ]
+- LOC_CLIFF:
+ description:
+ long: |-
+ The forest thins out here to reveal a steep cliff. There is no way
+ down, but a small ledge can be seen to the west across the chasm.
+ short: 'You''re at cliff.'
+ maptag: !!null
+ conditions: {ABOVE: true, NOBACK: true, LIT: true}
+ hints: [*urn]
+ travel: [
+ {verbs: [SOUTH, FORES], action: [goto, LOC_FOREST17]},
+ {verbs: [EAST], action: [goto, LOC_FOREST19]},
+ {verbs: [JUMP], action: [goto, LOC_NOMAKE]},
+ ]
+- LOC_SLIT:
+ description:
+ long: |-
+ At your feet all the water of the stream splashes into a 2-inch slit
+ in the rock. Downstream the streambed is bare rock.
+ short: 'You''re at slit in streambed.'
+ maptag: !!null
+ conditions: {FLUID: true, ABOVE: true, LIT: true}
+ sound: STREAM_GURGLES
+ travel: [
+ {verbs: [BUILD], action: [goto, LOC_START]},
+ {verbs: [UPSTR, NORTH], action: [goto, LOC_VALLEY]},
+ {verbs: [EAST, FORES], action: [goto, LOC_FOREST6]},
+ {verbs: [WEST], action: [goto, LOC_FOREST10]},
+ {verbs: [DOWNS, BED, SOUTH, DEPRE], action: [goto, LOC_GRATE]},
+ {verbs: [SLIT, STREA, DOWN, INWAR, ENTER], action: [speak, DONT_FIT]},
+ ]
+- LOC_GRATE:
+ description:
+ long: |-
+ You are in a 20-foot depression floored with bare dirt. Set into the
+ dirt is a strong steel grate mounted in concrete. A dry streambed
+ leads into the depression.
+ short: 'You''re outside grate.'
+ maptag: !!null
+ conditions: {ABOVE: true, LIT: true}
+ hints: [*grate, *jade]
+ travel: [
+ {verbs: [EAST, FORES], action: [goto, LOC_FOREST7]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST10]},
+ {verbs: [WEST], action: [goto, LOC_FOREST9]},
+ {verbs: [BUILD], action: [goto, LOC_START]},
+ {verbs: [UPSTR, GULLY, NORTH], action: [goto, LOC_SLIT]},
+ {verbs: [ENTER, INWAR, DOWN],
+ cond: [not, GRATE, GRATE_CLOSED],
+ action: [goto, LOC_BELOWGRATE]},
+ {verbs: [ENTER], action: [speak, GRATE_NOWAY]},
+ ]
+- LOC_BELOWGRATE:
+ description:
+ long: |-
+ You are in a small chamber beneath a 3x3 steel grate to the surface.
+ A low crawl over cobbles leads inward to the west.
+ short: 'You''re below the grate.'
+ maptag: !!null
+ conditions: {LIT: true}
+ travel: [
+ {verbs: [OUT, UPWAR], cond: [not, GRATE, GRATE_CLOSED],
+ action: [goto, LOC_GRATE]},
+ {verbs: [OUT], action: [speak, GRATE_NOWAY]},
+ {verbs: [CRAWL, COBBL, INWAR, WEST], action: [goto, LOC_COBBLE]},
+ {verbs: [PIT], action: [goto, LOC_PITTOP]},
+ {verbs: [DEBRI], action: [goto, LOC_DEBRIS]},
+ ]
+- LOC_COBBLE:
+ description:
+ long: |-
+ You are crawling over cobbles in a low passage. There is a dim light
+ at the east end of the passage.
+ short: 'You''re in cobble crawl.'
+ maptag: !!null
+ conditions: {LIT: true}
+ travel: [
+ {verbs: [OUT, SURFA, EAST], action: [goto, LOC_BELOWGRATE]},
+ {verbs: [INWAR, DARK, WEST, DEBRI], action: [goto, LOC_DEBRIS]},
+ {verbs: [PIT], action: [goto, LOC_PITTOP]},
+ ]
+- LOC_DEBRIS:
+ description:
+ long: |-
+ You are in a debris room filled with stuff washed in from the surface.
+ A low wide passage with cobbles becomes plugged with mud and debris
+ here, but an awkward canyon leads upward and west. In the mud someone
+ has scrawled, "MAGIC WORD XYZZY".
+ short: 'You''re in debris room.'
+ maptag: !!null
+ conditions: {}
+ travel: [
+ {verbs: [DEPRE], cond: [not, GRATE, GRATE_CLOSED],
+ action: [goto, LOC_GRATE]},
+ {verbs: [ENTRA], action: [goto, LOC_BELOWGRATE]},
+ {verbs: [CRAWL, COBBL, PASSA, LOW, EAST], action: [goto, LOC_COBBLE]},
+ {verbs: [CANYO, INWAR, UPWAR, WEST], action: [goto, LOC_AWKWARD]},
+ {verbs: [XYZZY], action: [goto, LOC_FOOF2]},
+ {verbs: [PIT], action: [goto, LOC_PITTOP]},
+ ]
+- LOC_AWKWARD:
+ description:
+ long: 'You are in an awkward sloping east/west canyon.'
+ short: !!null
+ maptag: 'Awkward canyon.'
+ conditions: {}
+ travel: [
+ {verbs: [DEPRE], cond: [not, GRATE, GRATE_CLOSED],
+ action: [goto, LOC_GRATE]},
+ {verbs: [ENTRA], action: [goto, LOC_BELOWGRATE]},
+ {verbs: [DOWN, EAST, DEBRI], action: [goto, LOC_DEBRIS]},
+ {verbs: [INWAR, UPWAR, WEST], action: [goto, LOC_BIRDCHAMBER]},
+ {verbs: [PIT], action: [goto, LOC_PITTOP]},
+ ]
+- LOC_BIRDCHAMBER:
+ description:
+ long: |-
+ You are in a splendid chamber thirty feet high. The walls are frozen
+ rivers of orange stone. An awkward canyon and a good passage exit
+ from east and west sides of the chamber.
+ short: 'You''re in bird chamber.'
+ maptag: !!null
+ conditions: {}
+ hints: [*bird]
+ travel: [
+ {verbs: [DEPRE], cond: [not, GRATE, GRATE_CLOSED],
+ action: [goto, LOC_GRATE]},
+ {verbs: [ENTRA], action: [goto, LOC_BELOWGRATE]},
+ {verbs: [DEBRI], action: [goto, LOC_DEBRIS]},
+ {verbs: [CANYO, EAST], action: [goto, LOC_AWKWARD]},
+ {verbs: [PASSA, PIT, WEST], action: [goto, LOC_PITTOP]},
+ ]
+- LOC_PITTOP:
+ description:
+ long: |-
+ At your feet is a small pit breathing traces of white mist. An east
+ passage ends here except for a small crack leading on.
+ short: 'You''re at top of small pit.'
+ maptag: !!null
+ conditions: {}
+ travel: [
+ {verbs: [DEPRE], cond: [not, GRATE, GRATE_CLOSED],
+ action: [goto, LOC_GRATE]},
+ {verbs: [ENTRA], action: [goto, LOC_BELOWGRATE]},
+ {verbs: [DEBRI], action: [goto, LOC_DEBRIS]},
+ {verbs: [PASSA, EAST], action: [goto, LOC_BIRDCHAMBER]},
+ {verbs: [DOWN, PIT, STEPS], cond: [carry, NUGGET],
+ action: [goto, LOC_NECKBROKE]},
+ {verbs: [DOWN], action: [goto, LOC_MISTHALL]},
+ {verbs: [CRACK, WEST], action: [goto, LOC_CRACK]},
+ ]
+- LOC_MISTHALL:
+ description:
+ long: |-
+ You are at one end of a vast hall stretching forward out of sight to
+ the west. There are openings to either side. Nearby, a wide stone
+ staircase leads downward. The hall is filled with wisps of white mist
+ swaying to and fro almost as if alive. A cold wind blows up the
+ staircase. There is a passage at the top of a dome behind you.
+ short: 'You''re in Hall of Mists.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ hints: [*jade]
+ sound: WIND_WHISTLES
+ travel: [
+ {verbs: [LEFT, SOUTH], action: [goto, LOC_NUGGET]},
+ {verbs: [FORWA, HALL, WEST], action: [goto, LOC_EASTBANK]},
+ {verbs: [STAIR, DOWN, NORTH], action: [goto, LOC_KINGHALL]},
+ {verbs: [UPWAR, PIT, STEPS, DOME, PASSA, EAST],
+ cond: [carry, NUGGET], action: [goto, LOC_DOME]},
+ {verbs: [UPWAR], action: [goto, LOC_PITTOP]},
+ {verbs: [Y2], action: [goto, LOC_JUMBLE]},
+ ]
+- LOC_CRACK:
+ description:
+ long: |-
+ The crack is far too small for you to follow. At its widest it is
+ barely wide enough to admit your foot.
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_PITTOP]},
+ ]
+- LOC_EASTBANK:
+ description:
+ long: |-
+ You are on the east bank of a fissure slicing clear across the hall.
+ The mist is quite thick here, and the fissure is too wide to jump.
+ short: 'You''re on east bank of fissure.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [HALL, EAST], action: [goto, LOC_MISTHALL]},
+ {verbs: [JUMP], cond: [not, FISSURE, UNBRIDGED],
+ action: [speak, CROSS_BRIDGE]},
+ {verbs: [FORWA], cond: [not, FISSURE, BRIDGED],
+ action: [goto, LOC_NOMAKE]},
+ {verbs: [OVER, ACROS, WEST, CROSS],
+ cond: [not, FISSURE, BRIDGED],
+ action: [speak, NO_CROSS]},
+ {verbs: [OVER], action: [goto, LOC_WESTBANK]},
+ ]
+- LOC_NUGGET:
+ description:
+ long: |-
+ This is a low room with a crude note on the wall. The note says,
+ "You won't get it up the steps".
+ short: 'You''re in nugget-of-gold room.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [HALL, OUT, NORTH], action: [goto, LOC_MISTHALL]},
+ ]
+- LOC_KINGHALL:
+ description:
+ long: |-
+ You are in the Hall of the Mountain King, with passages off in all
+ directions.
+ short: 'You''re in Hall of Mt King.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ hints: [*snake]
+ travel: [
+ {verbs: [STAIR, UPWAR, EAST], action: [goto, LOC_MISTHALL]},
+ {verbs: [NORTH, RIGHT], cond: [not, SNAKE, SNAKE_BLOCKS],
+ action: [goto, LOC_FLOORHOLE]},
+ {verbs: [SOUTH, LEFT], cond: [not, SNAKE, SNAKE_BLOCKS],
+ action: [goto, LOC_SOUTHSIDE]},
+ {verbs: [WEST, FORWA], cond: [not, SNAKE, SNAKE_BLOCKS],
+ action: [goto, LOC_WESTSIDE]},
+ {verbs: [NORTH], action: [goto, LOC_SNAKEBLOCK]},
+ {verbs: [SW], cond: [pct, 35], action: [goto, LOC_SECRET3]},
+ {verbs: [SW], cond: ["with", SNAKE], action: [goto, LOC_SNAKEBLOCK]},
+ {verbs: [SECRE], action: [goto, LOC_SECRET3]},
+ ]
+- LOC_NECKBROKE:
+ description:
+ long: 'You are at the bottom of the pit with a broken neck.'
+ short: !!null
+ maptag: 'Pit bottom'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_NOWHERE]},
+ ]
+- LOC_NOMAKE:
+ description:
+ long: 'You didn''t make it.'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_NOWHERE]},
+ ]
+- LOC_DOME:
+ description:
+ long: 'The dome is unclimbable.'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_MISTHALL]},
+ ]
+- LOC_WESTEND:
+ description:
+ long: |-
+ You are at the west end of the Twopit Room. There is a large hole in
+ the wall above the pit at this end of the room.
+ short: 'You''re at west end of Twopit Room.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [EAST, ACROS], action: [goto, LOC_EASTEND]},
+ {verbs: [WEST, SLAB], action: [goto, LOC_SLAB]},
+ {verbs: [DOWN, PIT], action: [goto, LOC_WESTPIT]},
+ {verbs: [HOLE], action: [speak, TOO_FAR]},
+ ]
+- LOC_EASTPIT:
+ description:
+ long: |-
+ You are at the bottom of the eastern pit in the Twopit Room. There is
+ a small pool of oil in one corner of the pit.
+ short: 'You''re in east pit.'
+ maptag: !!null
+ conditions: {FLUID: true, DEEP: true, OILY: true}
+ travel: [
+ {verbs: [UPWAR, OUT], action: [goto, LOC_EASTEND]},
+ ]
+- LOC_WESTPIT:
+ description:
+ long: |-
+ You are at the bottom of the western pit in the Twopit Room. There is
+ a large hole in the wall about 25 feet above you.
+ short: 'You''re in west pit.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [UPWAR, OUT], action: [goto, LOC_WESTEND]},
+ {verbs: [CLIMB], cond: [not, PLANT, PLANT_GROWN],
+ action: [goto, LOC_BUILDING1]},
+ {verbs: [CLIMB], action: [goto, LOC_CLIMBSTALK]},
+ ]
+- LOC_CLIMBSTALK:
+ description:
+ long: 'You clamber up the plant and scurry through the hole at the top.'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_NARROW]},
+ ]
+- LOC_WESTBANK:
+ description:
+ long: 'You are on the west side of the fissure in the Hall of Mists.'
+ short: 'You''re on west bank of fissure.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [JUMP], cond: [not, FISSURE, UNBRIDGED],
+ action: [speak, CROSS_BRIDGE]},
+ {verbs: [FORWA], cond: [not, FISSURE, BRIDGED],
+ action: [goto, LOC_NOMAKE]},
+ {verbs: [OVER, ACROS, EAST, CROSS],
+ cond: [not, FISSURE, BRIDGED],
+ action: [speak, NO_CROSS]},
+ {verbs: [OVER], action: [goto, LOC_EASTBANK]},
+ {verbs: [NORTH], action: [goto, LOC_PARALLEL1]},
+ {verbs: [WEST], action: [goto, LOC_MISTWEST]},
+ ]
+- LOC_FLOORHOLE:
+ description:
+ long: |-
+ You are in a low n/s passage at a hole in the floor. The hole goes
+ down to an e/w passage.
+ short: 'You''re in n/s passage above e/w passage.'
+ maptag: "Floor hole."
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [HALL, OUT, SOUTH], action: [goto, LOC_KINGHALL]},
+ {verbs: [NORTH, Y2], action: [goto, LOC_Y2]},
+ {verbs: [DOWN, HOLE], action: [goto, LOC_BROKEN]},
+ ]
+- LOC_SOUTHSIDE:
+ description:
+ long: 'You are in the south side chamber.'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [HALL, OUT, NORTH], action: [goto, LOC_KINGHALL]},
+ ]
+- LOC_WESTSIDE:
+ description:
+ long: |-
+ You are in the west side chamber of the Hall of the Mountain King.
+ A passage continues west and up here.
+ short: 'You''re in the west side chamber.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [HALL, OUT, EAST], action: [goto, LOC_KINGHALL]},
+ {verbs: [WEST, UPWAR], action: [goto, LOC_CROSSOVER]},
+ ]
+- LOC_BUILDING1:
+ description:
+ long: ''
+ short: !!null
+ maptag: 'Middle of plant.'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], cond: [not, PLANT, PLANT_BELLOWING],
+ action: [goto, LOC_NOCLIMB]},
+ {verbs: [], action: [goto, LOC_PLANTTOP]},
+ ]
+- LOC_SNAKEBLOCK:
+ description:
+ long: 'You can''t get by the snake.'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_KINGHALL]},
+ ]
+- LOC_Y2:
+ description:
+ long: |-
+ You are in a large room, with a passage to the south, a passage to the
+ west, and a wall of broken rock to the east. There is a large "Y2" on
+ a rock in the room's center.
+ short: 'You''re at "Y2".'
+ maptag: "Y2."
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [PLUGH], action: [goto, LOC_FOOF4]},
+ {verbs: [SOUTH], action: [goto, LOC_FLOORHOLE]},
+ {verbs: [EAST, WALL, BROKE], action: [goto, LOC_JUMBLE]},
+ {verbs: [WEST], action: [goto, LOC_WINDOW1]},
+ {verbs: [PLOVE], cond: [carry, EMERALD], action: ["special", 2]},
+ {verbs: [PLOVE], action: [goto, LOC_FOOF5]},
+ ]
+- LOC_JUMBLE:
+ description:
+ long: 'You are in a jumble of rock, with cracks everywhere.'
+ short: !!null
+ maptag: 'Rock jumble'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [DOWN, Y2], action: [goto, LOC_Y2]},
+ {verbs: [UPWAR], action: [goto, LOC_MISTHALL]},
+ ]
+- LOC_WINDOW1:
+ description:
+ long: |-
+ You're at a low window overlooking a huge pit, which extends up out of
+ sight. A floor is indistinctly visible over 50 feet below. Traces of
+ white mist cover the floor of the pit, becoming thicker to the right.
+ Marks in the dust around the window would seem to indicate that
+ someone has been here recently. Directly across the pit from you and
+ 25 feet away there is a similar window looking into a lighted room. A
+ shadowy figure can be seen there peering back at you.
+ short: 'You''re at window on pit.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [EAST, Y2], action: [goto, LOC_Y2]},
+ {verbs: [JUMP], action: [goto, LOC_NECKBROKE]},
+ ]
+- LOC_BROKEN:
+ description:
+ long: |-
+ You are in a dirty broken passage. To the east is a crawl. To the
+ west is a large passage. Above you is a hole to another passage.
+ short: 'You''re in dirty passage.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [EAST, CRAWL], action: [goto, LOC_SMALLPITBRINK]},
+ {verbs: [UPWAR, HOLE], action: [goto, LOC_FLOORHOLE]},
+ {verbs: [WEST], action: [goto, LOC_DUSTY]},
+ {verbs: [BEDQU], action: [goto, LOC_BEDQUILT]},
+ ]
+- LOC_SMALLPITBRINK:
+ description:
+ long: |-
+ You are on the brink of a small clean climbable pit. A crawl leads
+ west.
+ short: 'You''re at brink of small pit.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [WEST, CRAWL], action: [goto, LOC_BROKEN]},
+ {verbs: [DOWN, PIT, CLIMB], action: [goto, LOC_SMALLPIT]},
+ ]
+- LOC_SMALLPIT:
+ description:
+ long: |-
+ You are in the bottom of a small pit with a little stream, which
+ enters and exits through tiny slits.
+ short: 'You''re at bottom of pit with stream.'
+ maptag: 'Small pit bottom'
+ conditions: {FLUID: true, DEEP: true}
+ sound: STREAM_GURGLES
+ travel: [
+ {verbs: [CLIMB, UPWAR, OUT], action: [goto, LOC_SMALLPITBRINK]},
+ {verbs: [SLIT, STREA, DOWN, UPSTR, DOWNS, ENTER, INWAR],
+ action: [speak, DONT_FIT]},
+ ]
+- LOC_DUSTY:
+ description:
+ long: |-
+ You are in a large room full of dusty rocks. There is a big hole in
+ the floor. There are cracks everywhere, and a passage leading east.
+ short: 'You''re in dusty rock room.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [EAST, PASSA], action: [goto, LOC_BROKEN]},
+ {verbs: [DOWN, HOLE, FLOOR], action: [goto, LOC_COMPLEX]},
+ {verbs: [BEDQU], action: [goto, LOC_BEDQUILT]},
+ ]
+- LOC_PARALLEL1:
+ description:
+ long: |-
+ You have crawled through a very low wide passage parallel to and north
+ of the Hall of Mists.
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_MISTWEST]},
+ ]
+- LOC_MISTWEST:
+ description:
+ long: |-
+ You are at the west end of the Hall of Mists. A low wide crawl
+ continues west and another goes north. To the south is a little
+ passage 6 feet off the floor.
+ short: 'You''re at west end of Hall of Mists.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [SOUTH, UPWAR, PASSA, CLIMB], action: [goto, LOC_ALIKE1]},
+ {verbs: [EAST], action: [goto, LOC_WESTBANK]},
+ {verbs: [NORTH], action: [goto, LOC_PARALLEL2]},
+ {verbs: [WEST, CRAWL], action: [goto, LOC_LONGEAST]},
+ ]
+- LOC_ALIKE1:
+ description:
+ long: 'You are in a maze of twisty little passages, all alike.'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [UPWAR], action: [goto, LOC_MISTWEST]},
+ {verbs: [NORTH], action: [goto, LOC_ALIKE1]},
+ {verbs: [EAST], action: [goto, LOC_ALIKE2]},
+ {verbs: [SOUTH], action: [goto, LOC_ALIKE4]},
+ {verbs: [WEST], action: [goto, LOC_ALIKE11]},
+ ]
+- LOC_ALIKE2:
+ description:
+ long: 'You are in a maze of twisty little passages, all alike.'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [WEST], action: [goto, LOC_ALIKE1]},
+ {verbs: [SOUTH], action: [goto, LOC_ALIKE3]},
+ {verbs: [EAST], action: [goto, LOC_ALIKE4]},
+ ]
+- LOC_ALIKE3:
+ description:
+ long: 'You are in a maze of twisty little passages, all alike.'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_ALIKE2]},
+ {verbs: [DOWN], action: [goto, LOC_MAZEEND3]},
+ {verbs: [SOUTH], action: [goto, LOC_ALIKE6]},
+ {verbs: [NORTH], action: [goto, LOC_MAZEEND9]},
+ ]
+- LOC_ALIKE4:
+ description:
+ long: 'You are in a maze of twisty little passages, all alike.'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [WEST], action: [goto, LOC_ALIKE1]},
+ {verbs: [NORTH], action: [goto, LOC_ALIKE2]},
+ {verbs: [EAST], action: [goto, LOC_MAZEEND1]},
+ {verbs: [SOUTH], action: [goto, LOC_MAZEEND2]},
+ {verbs: [UPWAR, DOWN], action: [goto, LOC_ALIKE14]},
+ ]
+- LOC_MAZEEND1:
+ description:
+ long: 'Dead end'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOARRR: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [WEST, OUT], action: [goto, LOC_ALIKE4]},
+ ]
+- LOC_MAZEEND2:
+ description:
+ long: 'Dead end'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOARRR: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [EAST, OUT], action: [goto, LOC_ALIKE4]},
+ ]
+- LOC_MAZEEND3:
+ description:
+ long: 'Dead end'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOARRR: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [UPWAR, OUT], action: [goto, LOC_ALIKE3]},
+ ]
+- LOC_ALIKE5:
+ description:
+ long: 'You are in a maze of twisty little passages, all alike.'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_ALIKE6]},
+ {verbs: [WEST], action: [goto, LOC_ALIKE7]},
+ ]
+- LOC_ALIKE6:
+ description:
+ long: 'You are in a maze of twisty little passages, all alike.'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_ALIKE3]},
+ {verbs: [WEST], action: [goto, LOC_ALIKE5]},
+ {verbs: [DOWN], action: [goto, LOC_ALIKE7]},
+ {verbs: [SOUTH], action: [goto, LOC_ALIKE8]},
+ ]
+- LOC_ALIKE7:
+ description:
+ long: 'You are in a maze of twisty little passages, all alike.'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [WEST], action: [goto, LOC_ALIKE5]},
+ {verbs: [UPWAR], action: [goto, LOC_ALIKE6]},
+ {verbs: [EAST], action: [goto, LOC_ALIKE8]},
+ {verbs: [SOUTH], action: [goto, LOC_ALIKE9]},
+ ]
+- LOC_ALIKE8:
+ description:
+ long: 'You are in a maze of twisty little passages, all alike.'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [WEST], action: [goto, LOC_ALIKE6]},
+ {verbs: [EAST], action: [goto, LOC_ALIKE7]},
+ {verbs: [SOUTH], action: [goto, LOC_ALIKE8]},
+ {verbs: [UPWAR], action: [goto, LOC_ALIKE9]},
+ {verbs: [NORTH], action: [goto, LOC_ALIKE10]},
+ {verbs: [DOWN], action: [goto, LOC_MAZEEND11]},
+ ]
+- LOC_ALIKE9:
+ description:
+ long: 'You are in a maze of twisty little passages, all alike.'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [WEST], action: [goto, LOC_ALIKE7]},
+ {verbs: [NORTH], action: [goto, LOC_ALIKE8]},
+ {verbs: [SOUTH], action: [goto, LOC_MAZEEND4]},
+ ]
+- LOC_MAZEEND4:
+ description:
+ long: 'Dead end'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOARRR: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [WEST, OUT], action: [goto, LOC_ALIKE9]},
+ ]
+- LOC_ALIKE10:
+ description:
+ long: 'You are in a maze of twisty little passages, all alike.'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [WEST], action: [goto, LOC_ALIKE8]},
+ {verbs: [NORTH], action: [goto, LOC_ALIKE10]},
+ {verbs: [DOWN], action: [goto, LOC_MAZEEND5]},
+ {verbs: [EAST], action: [goto, LOC_PITBRINK]},
+ ]
+- LOC_MAZEEND5:
+ description:
+ long: 'Dead end'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOARRR: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [UPWAR, OUT], action: [goto, LOC_ALIKE10]},
+ ]
+- LOC_PITBRINK:
+ description:
+ long: |-
+ You are on the brink of a thirty foot pit with a massive orange column
+ down one wall. You could climb down here but you could not get back
+ up. The maze continues at this level.
+ short: 'You''re at brink of pit.'
+ maptag: !!null
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
+ travel: [
+ {verbs: [DOWN, CLIMB], action: [goto, LOC_BIRDCHAMBER]},
+ {verbs: [WEST], action: [goto, LOC_ALIKE10]},
+ {verbs: [SOUTH], action: [goto, LOC_MAZEEND6]},
+ {verbs: [NORTH], action: [goto, LOC_ALIKE12]},
+ {verbs: [EAST], action: [goto, LOC_ALIKE13]},
+ ]
+- LOC_MAZEEND6:
+ description:
+ long: 'Dead end'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {NOARRR: true, DEEP: true, ALLALIKE: true}
+ travel: [
+ {verbs: [EAST, OUT], action: [goto, LOC_PITBRINK]},
+ ]
+- LOC_PARALLEL2:
+ description:
+ long: |-
+ You have crawled through a very low wide passage parallel to and north
+ of the Hall of Mists.
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_WESTBANK]},
+ ]
+- LOC_LONGEAST:
+ description:
+ long: |-
+ You are at the east end of a very long hall apparently without side
+ chambers. To the east a low wide crawl slants up. To the north a
+ round two foot hole slants down.
+ short: 'You''re at east end of long hall.'
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [EAST, UPWAR, CRAWL], action: [goto, LOC_MISTWEST]},
+ {verbs: [WEST], action: [goto, LOC_LONGWEST]},
+ {verbs: [NORTH, DOWN, HOLE], action: [goto, LOC_CROSSOVER]},
+ ]
+- LOC_LONGWEST:
+ description:
+ long: |-
+ You are at the west end of a very long featureless hall. The hall
+ joins up with a narrow north/south passage.
+ short: 'You''re at west end of long hall.'
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_LONGEAST]},
+ {verbs: [NORTH], action: [goto, LOC_CROSSOVER]},
+ {verbs: [SOUTH], cond: ["nodwarves"], action: [goto, LOC_DIFFERENT1]},
+ ]
+- LOC_CROSSOVER:
+ description:
+ long: 'You are at a crossover of a high n/s passage and a low e/w one.'
+ short: !!null
+ maptag: 'Passage crossover.'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [WEST], action: [goto, LOC_LONGEAST]},
+ {verbs: [NORTH], action: [goto, LOC_DEADEND7]},
+ {verbs: [EAST], action: [goto, LOC_WESTSIDE]},
+ {verbs: [SOUTH], action: [goto, LOC_LONGWEST]},
+ ]
+- LOC_DEADEND7:
+ description:
+ long: 'Dead end'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [SOUTH, OUT], action: [goto, LOC_CROSSOVER]},
+ ]
+- LOC_COMPLEX:
+ description:
+ long: |-
+ You are at a complex junction. A low hands and knees passage from the
+ north joins a higher crawl from the east to make a walking passage
+ going west. There is also a large room above. The air is damp here.
+ short: 'You''re at complex junction.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ hints: [*jade]
+ sound: WIND_WHISTLES
+ travel: [
+ {verbs: [UPWAR, CLIMB, ROOM], action: [goto, LOC_DUSTY]},
+ {verbs: [WEST, BEDQU], action: [goto, LOC_BEDQUILT]},
+ {verbs: [NORTH, SHELL], action: [goto, LOC_SHELLROOM]},
+ {verbs: [EAST], action: [goto, LOC_ANTEROOM]},
+ ]
+- LOC_BEDQUILT:
+ description:
+ long: |-
+ You are in Bedquilt, a long east/west passage with holes everywhere.
+ To explore at random select north, south, up, or down.
+ short: 'You''re in Bedquilt.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_COMPLEX]},
+ {verbs: [WEST], action: [goto, LOC_SWISSCHEESE]},
+ {verbs: [SOUTH], cond: [pct, 65], action: [speak, FUTILE_CRAWL]},
+ {verbs: [SLAB], action: [goto, LOC_SLAB]},
+ {verbs: [UPWAR], cond: [pct, 60], action: [speak, FUTILE_CRAWL]},
+ {verbs: [UPWAR], cond: [pct, 70], action: [goto, LOC_SECRET2]},
+ {verbs: [UPWAR], action: [goto, LOC_DUSTY]},
+ {verbs: [NORTH], cond: [pct, 50], action: [speak, FUTILE_CRAWL]},
+ {verbs: [NORTH], cond: [pct, 75], action: [goto, LOC_LOWROOM]},
+ {verbs: [NORTH], action: [goto, LOC_THREEJUNCTION]},
+ {verbs: [DOWN], cond: [pct, 65], action: [speak, FUTILE_CRAWL]},
+ {verbs: [DOWN], action: [goto, LOC_ANTEROOM]},
+ ]
+- LOC_SWISSCHEESE:
+ description:
+ long: |-
+ You are in a room whose walls resemble Swiss cheese. Obvious passages
+ go west, east, ne, and nw. Part of the room is occupied by a large
+ bedrock block.
+ short: 'You''re in Swiss Cheese Room.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [NE], action: [goto, LOC_BEDQUILT]},
+ {verbs: [WEST], action: [goto, LOC_EASTEND]},
+ {verbs: [SOUTH], cond: [pct, 80], action: [speak, FUTILE_CRAWL]},
+ {verbs: [CANYO], action: [goto, LOC_TALL]},
+ {verbs: [EAST], action: [goto, LOC_SOFTROOM]},
+ {verbs: [NW], cond: [pct, 50], action: [speak, FUTILE_CRAWL]},
+ {verbs: [ORIEN], action: [goto, LOC_ORIENTAL]},
+ ]
+- LOC_EASTEND:
+ description:
+ long: |-
+ You are at the east end of the Twopit Room. The floor here is
+ littered with thin rock slabs, which make it easy to descend the pits.
+ There is a path here bypassing the pits to connect passages from east
+ and west. There are holes all over, but the only big one is on the
+ wall directly over the west pit where you can't get to it.
+ short: 'You''re at east end of Twopit Room.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_SWISSCHEESE]},
+ {verbs: [WEST, ACROS], action: [goto, LOC_WESTEND]},
+ {verbs: [DOWN, PIT], action: [goto, LOC_EASTPIT]},
+ ]
+- LOC_SLAB:
+ description:
+ long: |-
+ You are in a large low circular chamber whose floor is an immense slab
+ fallen from the ceiling (Slab Room). East and west there once were
+ large passages, but they are now filled with boulders. Low small
+ passages go north and south, and the south one quickly bends west
+ around the boulders.
+ short: 'You''re in Slab Room.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [SOUTH], action: [goto, LOC_WESTEND]},
+ {verbs: [UPWAR, CLIMB], action: [goto, LOC_SECRET1]},
+ {verbs: [NORTH], action: [goto, LOC_BEDQUILT]},
+ ]
+- LOC_SECRET1:
+ description:
+ long: 'You are in a secret n/s canyon above a large room.'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [DOWN, SLAB], action: [goto, LOC_SLAB]},
+ {verbs: [SOUTH], cond: [not, DRAGON, DRAGON_BARS],
+ action: [goto, LOC_SECRET5]},
+ {verbs: [SOUTH], action: [goto, LOC_SECRET4]},
+ {verbs: [NORTH], action: [goto, LOC_MIRRORCANYON]},
+ {verbs: [RESER], action: [goto, LOC_RESERVOIR]},
+ ]
+- LOC_SECRET2:
+ description:
+ long: 'You are in a secret n/s canyon above a sizable passage.'
+ short: !!null
+ maptag: 'Secret canyon'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [NORTH], action: [goto, LOC_THREEJUNCTION]},
+ {verbs: [DOWN, PASSA], action: [goto, LOC_BEDQUILT]},
+ {verbs: [SOUTH], action: [goto, LOC_TOPSTALACTITE]},
+ ]
+- LOC_THREEJUNCTION:
+ description:
+ long: |-
+ You are in a secret canyon at a junction of three canyons, bearing
+ north, south, and se. The north one is as tall as the other two
+ combined.
+ short: 'You''re at junction of three secret canyons.'
+ maptag: 'Secret canyon junction'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [SE], action: [goto, LOC_BEDQUILT]},
+ {verbs: [SOUTH], action: [goto, LOC_SECRET2]},
+ {verbs: [NORTH], action: [goto, LOC_WINDOW2]},
+ ]
+- LOC_LOWROOM:
+ description:
+ long: 'You are in a large low room. Crawls lead north, se, and sw.'
+ short: 'You''re in large low room.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [BEDQU], action: [goto, LOC_BEDQUILT]},
+ {verbs: [SW], action: [goto, LOC_WINDING]},
+ {verbs: [NORTH], action: [goto, LOC_DEADCRAWL]},
+ {verbs: [SE, ORIEN], action: [goto, LOC_ORIENTAL]},
+ ]
+- LOC_DEADCRAWL:
+ description:
+ long: 'Dead end crawl.'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [SOUTH, CRAWL, OUT], action: [goto, LOC_LOWROOM]},
+ ]
+- LOC_SECRET3:
+ description:
+ long: |-
+ You are in a secret canyon which here runs e/w. It crosses over a
+ very tight canyon 15 feet below. If you go down you may not be able
+ to get back up.
+ short: 'You''re in secret e/w canyon above tight canyon.'
+ maptag: 'Secret e/w canyon'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_KINGHALL]},
+ {verbs: [WEST], cond: [not, DRAGON, DRAGON_BARS], action: [goto, LOC_SECRET5]},
+ {verbs: [WEST], action: [goto, LOC_SECRET6]},
+ {verbs: [DOWN], action: [goto, LOC_WIDEPLACE]},
+ ]
+- LOC_WIDEPLACE:
+ description:
+ long: 'You are at a wide place in a very tight n/s canyon.'
+ short: !!null
+ maptag: 'Wide place'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [SOUTH], action: [goto, LOC_TIGHTPLACE]},
+ {verbs: [NORTH], action: [goto, LOC_TALL]},
+ ]
+- LOC_TIGHTPLACE:
+ description:
+ long: 'The canyon here becomes too tight to go further south.'
+ short: !!null
+ maptag: 'Tight canyon'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [NORTH], action: [goto, LOC_WIDEPLACE]},
+ ]
+- LOC_TALL:
+ description:
+ long: |-
+ You are in a tall e/w canyon. A low tight crawl goes 3 feet north and
+ seems to open up.
+ short: !!null
+ maptag: 'Tall canyon'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_WIDEPLACE]},
+ {verbs: [WEST], action: [goto, LOC_BOULDERS1]},
+ {verbs: [NORTH, CRAWL], action: [goto, LOC_SWISSCHEESE]},
+ ]
+- LOC_BOULDERS1:
+ description:
+ long: 'The canyon runs into a mass of boulders -- dead end.'
+ short: !!null
+ maptag: 'Boulders'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [SOUTH], action: [goto, LOC_TALL]},
+ ]
+- LOC_SEWER:
+ description:
+ long: |-
+ The stream flows out through a pair of 1 foot diameter sewer pipes.
+ It would be advisable to use the exit.
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_BUILDING]},
+ ]
+- LOC_ALIKE11:
+ description:
+ long: 'You are in a maze of twisty little passages, all alike.'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [NORTH], action: [goto, LOC_ALIKE1]},
+ {verbs: [WEST], action: [goto, LOC_ALIKE11]},
+ {verbs: [SOUTH], action: [goto, LOC_ALIKE11]},
+ {verbs: [EAST], action: [goto, LOC_MAZEEND8]},
+ ]
+- LOC_MAZEEND8:
+ description:
+ long: 'Dead end'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [WEST, OUT], action: [goto, LOC_ALIKE11]},
+ ]
+- LOC_MAZEEND9:
+ description:
+ long: 'Dead end'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOARRR: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [SOUTH, OUT], action: [goto, LOC_ALIKE3]},
+ ]
+- LOC_ALIKE12:
+ description:
+ long: 'You are in a maze of twisty little passages, all alike.'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
+ travel: [
+ {verbs: [SOUTH], action: [goto, LOC_PITBRINK]},
+ {verbs: [EAST], action: [goto, LOC_ALIKE13]},
+ {verbs: [WEST], action: [goto, LOC_MAZEEND10]},
+ ]
+- LOC_ALIKE13:
+ description:
+ long: 'You are in a maze of twisty little passages, all alike.'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
+ travel: [
+ {verbs: [NORTH], action: [goto, LOC_PITBRINK]},
+ {verbs: [WEST], action: [goto, LOC_ALIKE12]},
+ {verbs: [NW], action: [goto, LOC_MAZEEND12]},
+ ]
+- LOC_MAZEEND10:
+ description:
+ long: 'Dead end'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {NOARRR: true, DEEP: true, ALLALIKE: true}
+ travel: [
+ {verbs: [EAST, OUT], action: [goto, LOC_ALIKE12]},
+ ]
+- LOC_MAZEEND11:
+ description:
+ long: 'Dead end'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOARRR: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [UPWAR, OUT], action: [goto, LOC_ALIKE8]},
+ ]
+- LOC_ALIKE14:
+ description:
+ long: 'You are in a maze of twisty little passages, all alike.'
+ short: !!null
+ maptag: 'Maze all alike.'
+ conditions: {DEEP: true, NOBACK: true, ALLALIKE: true}
+ hints: [*maze]
+ travel: [
+ {verbs: [UPWAR, DOWN], action: [goto, LOC_ALIKE4]},
+ ]
+- LOC_NARROW:
+ description:
+ long: |-
+ You are in a long, narrow corridor stretching out of sight to the
+ west. At the eastern end is a hole through which you can see a
+ profusion of leaves.
+ short: 'You''re in narrow corridor.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [DOWN, CLIMB, EAST], action: [goto, LOC_WESTPIT]},
+ {verbs: [JUMP], action: [goto, LOC_NECKBROKE]},
+ {verbs: [WEST, GIANT], action: [goto, LOC_GIANTROOM]},
+ ]
+- LOC_NOCLIMB:
+ description:
+ long: 'There is nothing here to climb. Use "up" or "out" to leave the pit.'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_WESTPIT]},
+ ]
+- LOC_PLANTTOP:
+ description:
+ long: 'You have climbed up the plant and out of the pit.'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_WESTEND]},
+ ]
+- LOC_INCLINE:
+ description:
+ long: |-
+ You are at the top of a steep incline above a large room. You could
+ climb down here, but you would not be able to climb up. There is a
+ passage leading back to the north.
+ short: 'You''re at steep incline above large room.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [NORTH, CAVER, PASSA], action: [goto, LOC_WATERFALL]},
+ {verbs: [DOWN, CLIMB], action: [goto, LOC_LOWROOM]},
+ ]
+- LOC_GIANTROOM:
+ description:
+ long: |-
+ You are in the Giant Room. The ceiling here is too high up for your
+ lamp to show it. Cavernous passages lead east, north, and south. On
+ the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+ short: 'You''re in Giant Room.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [SOUTH], action: [goto, LOC_NARROW]},
+ {verbs: [EAST], action: [goto, LOC_CAVEIN]},
+ {verbs: [NORTH], action: [goto, LOC_IMMENSE]},
+ ]
+- LOC_CAVEIN:
+ description:
+ long: 'The passage here is blocked by a recent cave-in.'
+ short: !!null
+ maptag: 'Cave-in blockage'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [SOUTH, GIANT, OUT], action: [goto, LOC_GIANTROOM]},
+ ]
+- LOC_IMMENSE:
+ description:
+ long: 'You are at one end of an immense north/south passage.'
+ short: !!null
+ maptag: 'Immense passage end.'
+ conditions: {DEEP: true}
+ sound: WIND_WHISTLES
+ travel: [
+ {verbs: [SOUTH, GIANT, PASSA], action: [goto, LOC_GIANTROOM]},
+ {verbs: [NORTH, ENTER, CAVER], cond: [not, DOOR, DOOR_RUSTED],
+ action: [goto, LOC_WATERFALL]},
+ {verbs: [NORTH], action: [speak, RUSTY_DOOR]},
+ ]
+- LOC_WATERFALL:
+ description:
+ long: |-
+ You are in a magnificent cavern with a rushing stream, which cascades
+ over a sparkling waterfall into a roaring whirlpool which disappears
+ through a hole in the floor. Passages exit to the south and west.
+ short: 'You''re in cavern with waterfall.'
+ maptag: !!null
+ conditions: {FLUID: true, DEEP: true}
+ sound: STREAM_SPLASHES
+ travel: [
+ {verbs: [SOUTH, OUT], action: [goto, LOC_IMMENSE]},
+ {verbs: [GIANT], action: [goto, LOC_GIANTROOM]},
+ {verbs: [WEST], action: [goto, LOC_INCLINE]},
+ ]
+- LOC_SOFTROOM:
+ description:
+ long: |-
+ You are in the Soft Room. The walls are covered with heavy curtains,
+ the floor with a thick pile carpet. Moss covers the ceiling.
+ short: 'You''re in Soft Room.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [WEST, OUT], action: [goto, LOC_SWISSCHEESE]},
+ ]
+- LOC_ORIENTAL:
+ description:
+ long: |-
+ This is the Oriental Room. Ancient oriental cave drawings cover the
+ walls. A gently sloping passage leads upward to the north, another
+ passage leads se, and a hands and knees crawl leads west.
+ short: 'You''re in Oriental Room.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [SE], action: [goto, LOC_SWISSCHEESE]},
+ {verbs: [WEST, CRAWL], action: [goto, LOC_LOWROOM]},
+ {verbs: [UPWAR, NORTH, CAVER], action: [goto, LOC_MISTY]},
+ ]
+- LOC_MISTY:
+ description:
+ long: |-
+ You are following a wide path around the outer edge of a large cavern.
+ Far below, through a heavy white mist, strange splashing noises can be
+ heard. The mist rises up through a fissure in the ceiling. The path
+ exits to the south and west.
+ short: 'You''re in misty cavern.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ sound: NO_MEANING
+ travel: [
+ {verbs: [SOUTH, ORIEN], action: [goto, LOC_ORIENTAL]},
+ {verbs: [WEST], action: [goto, LOC_ALCOVE]},
+ ]
+- LOC_ALCOVE:
+ description:
+ long: |-
+ You are in an alcove. A small nw path seems to widen after a short
+ distance. An extremely tight tunnel leads east. It looks like a very
+ tight squeeze. An eerie light can be seen at the other end.
+ short: 'You''re in alcove.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ hints: [*dark]
+ travel: [
+ {verbs: [NW, CAVER], action: [goto, LOC_MISTY]},
+ {verbs: [EAST, PASSA], action: ["special", 1]},
+ {verbs: [EAST], action: [goto, LOC_PLOVER]},
+ ]
+- LOC_PLOVER:
+ description:
+ long: |-
+ You're in a small chamber lit by an eerie green light. An extremely
+ narrow tunnel exits to the west. A dark corridor leads ne.
+ short: 'You''re in Plover Room.'
+ maptag: !!null
+ conditions: {DEEP: true, LIT: true}
+ hints: [*dark]
+ travel: [
+ {verbs: [WEST, PASSA, OUT], action: ["special", 1]},
+ {verbs: [WEST], action: [goto, LOC_ALCOVE]},
+ {verbs: [PLOVE], cond: [carry, EMERALD], action: ["special", 2]},
+ {verbs: [PLOVE], action: [goto, LOC_FOOF6]},
+ {verbs: [NE, DARK], action: [goto, LOC_DARKROOM]},
+ ]
+- LOC_DARKROOM:
+ description:
+ long: 'You''re in the dark-room. A corridor leading south is the only exit.'
+ short: 'You''re in dark-room.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ hints: [*dark]
+ travel: [
+ {verbs: [SOUTH, PLOVE, OUT], action: [goto, LOC_PLOVER]},
+ ]
+- LOC_ARCHED:
+ description:
+ long: |-
+ You are in an arched hall. A coral passage once continued up and east
+ from here, but is now blocked by debris. The air smells of sea water.
+ short: 'You''re in arched hall.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [DOWN, SHELL, OUT], action: [goto, LOC_SHELLROOM]},
+ ]
+- LOC_SHELLROOM:
+ description:
+ long: |-
+ You're in a large room carved out of sedimentary rock. The floor and
+ walls are littered with bits of shells embedded in the stone. A
+ shallow passage proceeds downward, and a somewhat steeper one leads
+ up. A low hands and knees passage enters from the south.
+ short: 'You''re in Shell Room.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [UPWAR, HALL], action: [goto, LOC_ARCHED]},
+ {verbs: [DOWN], action: [goto, LOC_SLOPING1]},
+ {verbs: [SOUTH], cond: [carry, CLAM],
+ action: [speak, CLAM_BLOCKER]},
+ {verbs: [SOUTH], cond: [carry, OYSTER],
+ action: [speak, OYSTER_BLOCKER]},
+ {verbs: [SOUTH], action: [goto, LOC_COMPLEX]},
+ ]
+- LOC_SLOPING1:
+ description:
+ long: 'You are in a long sloping corridor with ragged sharp walls.'
+ short: !!null
+ maptag: "Sloping corridor"
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [UPWAR, SHELL], action: [goto, LOC_SHELLROOM]},
+ {verbs: [DOWN], action: [goto, LOC_CULDESAC]},
+ ]
+- LOC_CULDESAC:
+ description:
+ long: 'You are in a cul-de-sac about eight feet across.'
+ short: !!null
+ maptag: 'Cul-de-sac.'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [UPWAR, OUT], action: [goto, LOC_SLOPING1]},
+ {verbs: [SHELL], action: [goto, LOC_SHELLROOM]},
+ ]
+- LOC_ANTEROOM:
+ description:
+ long: |-
+ You are in an anteroom leading to a large passage to the east. Small
+ passages go west and up. The remnants of recent digging are evident.
+ A sign in midair here says "Cave under construction beyond this point.
+ Proceed at own risk. [Witt Construction Company]"
+ short: 'You''re in anteroom.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [UPWAR], action: [goto, LOC_COMPLEX]},
+ {verbs: [WEST], action: [goto, LOC_BEDQUILT]},
+ {verbs: [EAST], action: [goto, LOC_WITTSEND]},
+ ]
+- LOC_DIFFERENT1:
+ description:
+ long: 'You are in a maze of twisty little passages, all different.'
+ short: !!null
+ maptag: 'Maze all different'
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
+ travel: [
+ {verbs: [SOUTH], action: [goto, LOC_DIFFERENT3]},
+ {verbs: [SW], action: [goto, LOC_DIFFERENT4]},
+ {verbs: [NE], action: [goto, LOC_DIFFERENT5]},
+ {verbs: [SE], action: [goto, LOC_DIFFERENT6]},
+ {verbs: [UPWAR], action: [goto, LOC_DIFFERENT7]},
+ {verbs: [NW], action: [goto, LOC_DIFFERENT8]},
+ {verbs: [EAST], action: [goto, LOC_DIFFERENT9]},
+ {verbs: [WEST], action: [goto, LOC_DIFFERENT10]},
+ {verbs: [NORTH], action: [goto, LOC_DIFFERENT11]},
+ {verbs: [DOWN], action: [goto, LOC_LONGWEST]},
+ ]
+- LOC_WITTSEND:
+ description:
+ long: 'You are at Witt''s End. Passages lead off in *ALL* directions.'
+ short: 'You''re at Witt''s End.'
+ maptag: !!null
+ conditions: {DEEP: true, NOBACK: true}
+ hints: [*witt]
+ travel: [
+ {verbs: [EAST, NORTH, SOUTH, NE, SE, SW, NW, UPWAR, DOWN],
+ cond: [pct, 95], action: [speak, FUTILE_CRAWL]},
+ {verbs: [EAST], action: [goto, LOC_ANTEROOM]},
+ {verbs: [WEST], action: [speak, WAY_BLOCKED]},
+ ]
+- LOC_MIRRORCANYON:
+ description:
+ long: |-
+ You are in a north/south canyon about 25 feet across. The floor is
+ covered by white mist seeping in from the north. The walls extend
+ upward for well over 100 feet. Suspended from some unseen point far
+ above you, an enormous two-sided mirror is hanging parallel to and
+ midway between the canyon walls. (The mirror is obviously provided
+ for the use of the dwarves who, as you know, are extremely vain.) A
+ small window can be seen in either wall, some fifty feet up.
+ short: 'You''re in Mirror Canyon.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ hints: [*jade]
+ sound: WIND_WHISTLES
+ travel: [
+ {verbs: [SOUTH], action: [goto, LOC_SECRET1]},
+ {verbs: [NORTH, RESER], action: [goto, LOC_RESERVOIR]},
+ ]
+- LOC_WINDOW2:
+ description:
+ long: |-
+ You're at a low window overlooking a huge pit, which extends up out of
+ sight. A floor is indistinctly visible over 50 feet below. Traces of
+ white mist cover the floor of the pit, becoming thicker to the left.
+ Marks in the dust around the window would seem to indicate that
+ someone has been here recently. Directly across the pit from you and
+ 25 feet away there is a similar window looking into a lighted room. A
+ shadowy figure can be seen there peering back at you.
+ short: 'You''re at window on pit.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [WEST], action: [goto, LOC_THREEJUNCTION]},
+ {verbs: [JUMP], action: [goto, LOC_NECKBROKE]},
+ ]
+- LOC_TOPSTALACTITE:
+ description:
+ long: |-
+ A large stalactite extends from the roof and almost reaches the floor
+ below. You could climb down it, and jump from it to the floor, but
+ having done so you would be unable to reach it to climb back up.
+ short: 'You''re at top of stalactite.'
+ maptag: !!null
+ conditions: {DEEP: true, ALLALIKE: true}
+ travel: [
+ {verbs: [NORTH], action: [goto, LOC_SECRET2]},
+ {verbs: [DOWN, JUMP, CLIMB], cond: [pct, 40],
+ action: [goto, LOC_ALIKE6]},
+ {verbs: [DOWN], cond: [pct, 50], action: [goto, LOC_ALIKE9]},
+ {verbs: [DOWN], action: [goto, LOC_ALIKE4]},
+ ]
+- LOC_DIFFERENT2:
+ description:
+ long: 'You are in a little maze of twisting passages, all different.'
+ short: !!null
+ maptag: 'Maze all different'
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
+ travel: [
+ {verbs: [SW], action: [goto, LOC_DIFFERENT3]},
+ {verbs: [NORTH], action: [goto, LOC_DIFFERENT4]},
+ {verbs: [EAST], action: [goto, LOC_DIFFERENT5]},
+ {verbs: [NW], action: [goto, LOC_DIFFERENT6]},
+ {verbs: [SE], action: [goto, LOC_DIFFERENT7]},
+ {verbs: [NE], action: [goto, LOC_DIFFERENT8]},
+ {verbs: [WEST], action: [goto, LOC_DIFFERENT9]},
+ {verbs: [DOWN], action: [goto, LOC_DIFFERENT10]},
+ {verbs: [UPWAR], action: [goto, LOC_DIFFERENT11]},
+ {verbs: [SOUTH], action: [goto, LOC_DEADEND13]},
+ ]
+- LOC_RESERVOIR:
+ description:
+ long: |-
+ You are at the edge of a large underground reservoir. An opaque cloud
+ of white mist fills the room and rises rapidly upward. The lake is
+ fed by a stream, which tumbles out of a hole in the wall about 10 feet
+ overhead and splashes noisily into the water somewhere within the
+ mist. There is a passage going back toward the south.
+ short: 'You''re at reservoir.'
+ maptag: !!null
+ conditions: {FLUID: true, DEEP: true}
+ sound: STREAM_SPLASHES
+ travel: [
+ {verbs: [SOUTH, OUT], action: [goto, LOC_MIRRORCANYON]},
+ {verbs: [NORTH, ACROS, CROSS], cond: [not, RESER, WATERS_PARTED], action: [speak, BAD_DIRECTION]},
+ {verbs: [NORTH], action: [goto, LOC_RESBOTTOM]},
+ ]
+- LOC_MAZEEND12:
+ description:
+ long: 'Dead end'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true, ALLALIKE: true}
+ travel: [
+ {verbs: [SE], action: [goto, LOC_ALIKE13]},
+ ]
+- LOC_NE:
+ description:
+ long: |-
+ You are at the northeast end of an immense room, even larger than the
+ Giant Room. It appears to be a repository for the "Adventure"
+ program. Massive torches far overhead bathe the room with smoky
+ yellow light. Scattered about you can be seen a pile of bottles (all
+ of them empty), a nursery of young beanstalks murmuring quietly, a bed
+ of oysters, a bundle of black rods with rusty stars on their ends, and
+ a collection of brass lanterns. Off to one side a great many dwarves
+ are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+ not disturb the dwarves!" An immense mirror is hanging against one
+ wall, and stretches to the other end of the room, where various other
+ sundry objects can be glimpsed dimly in the distance.
+ short: 'You''re at ne end.'
+ maptag: 'Repository ne end'
+ conditions: {DEEP: true, LIT: true}
+ sound: MURMURING_SNORING
+ travel: [
+ {verbs: [SW], action: [goto, LOC_SW]},
+ ]
+- LOC_SW:
+ description:
+ long: |-
+ You are at the southwest end of the repository. To one side is a pit
+ full of fierce green snakes. On the other side is a row of small
+ wicker cages, each of which contains a little sulking bird. In one
+ corner is a bundle of black rods with rusty marks on their ends. A
+ large number of velvet pillows are scattered about on the floor. A
+ vast mirror stretches off to the northeast. At your feet is a large
+ steel grate, next to which is a sign that reads, "Treasure Vault.
+ Keys in main office."
+ short: 'You''re at sw end.'
+ maptag: 'Repository sw end'
+ conditions: {DEEP: true, LIT: true}
+ sound: SNAKES_HISSING
+ travel: [
+ {verbs: [NE], action: [goto, LOC_NE]},
+ {verbs: [DOWN], action: [speak, GRATE_NOWAY]},
+ ]
+- LOC_SWCHASM:
+ description:
+ long: |-
+ You are on one side of a large, deep chasm. A heavy white mist rising
+ up from below obscures all view of the far side. A sw path leads away
+ from the chasm into a winding corridor.
+ short: 'You''re on sw side of chasm.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [SW], action: [goto, LOC_WINDING]},
+ {verbs: [OVER, ACROS, CROSS, NE], cond: [with, TROLL],
+ action: [speak, TROLL_BLOCKS]},
+ {verbs: [OVER], cond: [not, CHASM, TROLL_BRIDGE],
+ action: [speak, BRIDGE_GONE]},
+ {verbs: [OVER], action: ["special", 3]},
+ {verbs: [JUMP], cond: [not, CHASM, TROLL_BRIDGE],
+ action: [goto, LOC_NOMAKE]},
+ {verbs: [JUMP], action: [speak, CROSS_BRIDGE]},
+ ]
+- LOC_WINDING:
+ description:
+ long: |-
+ You are in a long winding corridor sloping out of sight in both
+ directions.
+ short: 'You''re in sloping corridor.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [DOWN], action: [goto, LOC_LOWROOM]},
+ {verbs: [UPWAR], action: [goto, LOC_SWCHASM]},
+ ]
+ # Following three rooms are where the dragon lives. The code has a
+ # wired-in assumption that the dragon corpse goes to LOC_SECRET5,
+- LOC_SECRET4:
+ description:
+ long: 'You are in a secret canyon which exits to the north and east.'
+ short: !!null
+ maptag: 'Secret canyon'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [NORTH, OUT], action: [goto, LOC_SECRET1]},
+ {verbs: [EAST, FORWA], action: [speak, NASTY_DRAGON]},
+ ]
+- LOC_SECRET5:
+ description:
+ long: 'You are in a secret canyon which exits to the north and east.'
+ short: !!null
+ maptag: 'Secret canyon'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [NORTH], action: [goto, LOC_SECRET1]},
+ {verbs: [EAST], action: [goto, LOC_SECRET3]},
+ ]
+- LOC_SECRET6:
+ description:
+ long: 'You are in a secret canyon which exits to the north and east.'
+ short: !!null
+ maptag: 'Secret canyon'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [EAST, OUT], action: [goto, LOC_SECRET3]},
+ {verbs: [NORTH, FORWA], action: [speak, NASTY_DRAGON]},
+ ]
+- LOC_NECHASM:
+ description:
+ long: |-
+ You are on the far side of the chasm. A ne path leads away from the
+ chasm on this side.
+ short: 'You''re on ne side of chasm.'
+ maptag: !!null
+ conditions: {NOARRR: true, DEEP: true}
+ travel: [
+ {verbs: [NE], action: [goto, LOC_CORRIDOR]},
+ {verbs: [OVER, ACROS, CROSS, SW], cond: [with, TROLL], action: [speak, TROLL_BLOCKS]},
+ {verbs: [OVER], action: ["special", 3]},
+ {verbs: [JUMP], action: [speak, CROSS_BRIDGE]},
+ {verbs: [FORK], action: [goto, LOC_FORK]},
+ {verbs: [VIEW], action: [goto, LOC_BREATHTAKING]},
+ {verbs: [BARRE], action: [goto, LOC_BARRENFRONT]},
+ ]
+- LOC_CORRIDOR:
+ description:
+ long: |-
+ You're in a long east/west corridor. A faint rumbling noise can be
+ heard in the distance.
+ short: 'You''re in corridor.'
+ maptag: 'e/w canyon'
+ conditions: {NOARRR: true, DEEP: true}
+ sound: DULL_RUMBLING
+ travel: [
+ {verbs: [WEST], action: [goto, LOC_NECHASM]},
+ {verbs: [EAST, FORK], action: [goto, LOC_FORK]},
+ {verbs: [VIEW], action: [goto, LOC_BREATHTAKING]},
+ {verbs: [BARRE], action: [goto, LOC_BARRENFRONT]},
+ ]
+- LOC_FORK:
+ description:
+ long: |-
+ The path forks here. The left fork leads northeast. A dull rumbling
+ seems to get louder in that direction. The right fork leads southeast
+ down a gentle slope. The main corridor enters from the west.
+ short: 'You''re at fork in path.'
+ maptag: !!null
+ conditions: {NOARRR: true, DEEP: true}
+ sound: DULL_RUMBLING
+ travel: [
+ {verbs: [WEST], action: [goto, LOC_CORRIDOR]},
+ {verbs: [NE, LEFT], action: [goto, LOC_WARMWALLS]},
+ {verbs: [SE, RIGHT, DOWN], action: [goto, LOC_LIMESTONE]},
+ {verbs: [VIEW], action: [goto, LOC_BREATHTAKING]},
+ {verbs: [BARRE], action: [goto, LOC_BARRENFRONT]},
+ ]
+- LOC_WARMWALLS:
+ description:
+ long: |-
+ The walls are quite warm here. From the north can be heard a steady
+ roar, so loud that the entire cave seems to be trembling. Another
+ passage leads south, and a low crawl goes east.
+ short: 'You''re at junction with warm walls.'
+ maptag: "Warm junction"
+ conditions: {NOARRR: true, DEEP: true}
+ sound: LOUD_ROAR
+ travel: [
+ {verbs: [SOUTH, FORK], action: [goto, LOC_FORK]},
+ {verbs: [NORTH, VIEW], action: [goto, LOC_BREATHTAKING]},
+ {verbs: [EAST, CRAWL], action: [goto, LOC_BOULDERS2]},
+ ]
+- LOC_BREATHTAKING:
+ description:
+ long: |-
+ You are on the edge of a breath-taking view. Far below you is an
+ active volcano, from which great gouts of molten lava come surging
+ out, cascading back down into the depths. The glowing rock fills the
+ farthest reaches of the cavern with a blood-red glare, giving every-
+ thing an eerie, macabre appearance. The air is filled with flickering
+ sparks of ash and a heavy smell of brimstone. The walls are hot to
+ the touch, and the thundering of the volcano drowns out all other
+ sounds. Embedded in the jagged roof far overhead are myriad twisted
+ formations composed of pure white alabaster, which scatter the murky
+ light into sinister apparitions upon the walls. To one side is a deep
+ gorge, filled with a bizarre chaos of tortured rock which seems to
+ have been crafted by the devil himself. An immense river of fire
+ crashes out from the depths of the volcano, burns its way through the
+ gorge, and plummets into a bottomless pit far off to your left. To
+ the right, an immense geyser of blistering steam erupts continuously
+ from a barren island in the center of a sulfurous lake, which bubbles
+ ominously. The far right wall is aflame with an incandescence of its
+ own, which lends an additional infernal splendor to the already
+ hellish scene. A dark, foreboding passage exits to the south.
+ short: 'You''re at breath-taking view.'
+ maptag: !!null
+ conditions: {NOARRR: true, LIT: true, DEEP: true}
+ hints: [*jade]
+ sound: TOTAL_ROAR
+ loud: true
+ travel: [
+ {verbs: [SOUTH, PASSA, OUT], action: [goto, LOC_WARMWALLS]},
+ {verbs: [FORK], action: [goto, LOC_FORK]},
+ {verbs: [DOWN], action: [speak, RIDICULOUS_ATTEMPT]},
+ {verbs: [JUMP], action: [goto, LOC_GRUESOME]},
+ ]
+- LOC_BOULDERS2:
+ description:
+ long: |-
+ You are in a small chamber filled with large boulders. The walls are
+ very warm, causing the air in the room to be almost stifling from the
+ heat. The only exit is a crawl heading west, through which is coming
+ a low rumbling.
+ short: 'You''re in Chamber of Boulders.'
+ maptag: !!null
+ conditions: {NOARRR: true, DEEP: true}
+ sound: DULL_RUMBLING
+ travel: [
+ {verbs: [WEST, OUT, CRAWL], action: [goto, LOC_WARMWALLS]},
+ {verbs: [FORK], action: [goto, LOC_FORK]},
+ {verbs: [VIEW], action: [goto, LOC_BREATHTAKING]},
+ ]
+- LOC_LIMESTONE:
+ description:
+ long: |-
+ You are walking along a gently sloping north/south passage lined with
+ oddly shaped limestone formations.
+ short: 'You''re in limestone passage.'
+ maptag: !!null
+ conditions: {NOARRR: true, DEEP: true}
+ travel: [
+ {verbs: [NORTH, UPWAR, FORK], action: [goto, LOC_FORK]},
+ {verbs: [SOUTH, DOWN, BARRE], action: [goto, LOC_BARRENFRONT]},
+ {verbs: [VIEW], action: [goto, LOC_BREATHTAKING]},
+ ]
+- LOC_BARRENFRONT:
+ description:
+ long: |-
+ You are standing at the entrance to a large, barren room. A notice
+ above the entrance reads: "Caution! Bear in room!"
+ short: 'You''re in front of Barren Room.'
+ maptag: !!null
+ conditions: {NOARRR: true, DEEP: true}
+ travel: [
+ {verbs: [WEST, UPWAR], action: [goto, LOC_LIMESTONE]},
+ {verbs: [FORK], action: [goto, LOC_FORK]},
+ {verbs: [EAST, INWAR, BARRE, ENTER], action: [goto, LOC_BARRENROOM]},
+ {verbs: [VIEW], action: [goto, LOC_BREATHTAKING]},
+ ]
+- LOC_BARRENROOM:
+ description:
+ long: |-
+ You are inside a barren room. The center of the room is completely
+ empty except for some dust. Marks in the dust lead away toward the
+ far end of the room. The only exit is the way you came in.
+ short: 'You''re in Barren Room.'
+ maptag: !!null
+ conditions: {NOARRR: true, DEEP: true}
+ travel: [
+ {verbs: [WEST, OUT], action: [goto, LOC_BARRENFRONT]},
+ {verbs: [FORK], action: [goto, LOC_FORK]},
+ {verbs: [VIEW], action: [goto, LOC_BREATHTAKING]},
+ ]
+- LOC_DIFFERENT3:
+ description:
+ long: 'You are in a maze of twisting little passages, all different.'
+ short: !!null
+ maptag: 'Maze all different.'
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
+ travel: [
+ {verbs: [WEST], action: [goto, LOC_DIFFERENT1]},
+ {verbs: [SE], action: [goto, LOC_DIFFERENT4]},
+ {verbs: [NW], action: [goto, LOC_DIFFERENT5]},
+ {verbs: [SW], action: [goto, LOC_DIFFERENT6]},
+ {verbs: [NE], action: [goto, LOC_DIFFERENT7]},
+ {verbs: [UPWAR], action: [goto, LOC_DIFFERENT8]},
+ {verbs: [DOWN], action: [goto, LOC_DIFFERENT9]},
+ {verbs: [NORTH], action: [goto, LOC_DIFFERENT10]},
+ {verbs: [SOUTH], action: [goto, LOC_DIFFERENT11]},
+ {verbs: [EAST], action: [goto, LOC_DIFFERENT2]},
+ ]
+- LOC_DIFFERENT4:
+ description:
+ long: 'You are in a little maze of twisty passages, all different.'
+ short: !!null
+ maptag: 'Maze all different.'
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
+ travel: [
+ {verbs: [NW], action: [goto, LOC_DIFFERENT1]},
+ {verbs: [UPWAR], action: [goto, LOC_DIFFERENT3]},
+ {verbs: [NORTH], action: [goto, LOC_DIFFERENT5]},
+ {verbs: [SOUTH], action: [goto, LOC_DIFFERENT6]},
+ {verbs: [WEST], action: [goto, LOC_DIFFERENT7]},
+ {verbs: [SW], action: [goto, LOC_DIFFERENT8]},
+ {verbs: [NE], action: [goto, LOC_DIFFERENT9]},
+ {verbs: [EAST], action: [goto, LOC_DIFFERENT10]},
+ {verbs: [DOWN], action: [goto, LOC_DIFFERENT11]},
+ {verbs: [SE], action: [goto, LOC_DIFFERENT2]},
+ ]
+- LOC_DIFFERENT5:
+ description:
+ long: 'You are in a twisting maze of little passages, all different.'
+ short: !!null
+ maptag: 'Maze all different.'
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
+ travel: [
+ {verbs: [UPWAR], action: [goto, LOC_DIFFERENT1]},
+ {verbs: [DOWN], action: [goto, LOC_DIFFERENT3]},
+ {verbs: [WEST], action: [goto, LOC_DIFFERENT4]},
+ {verbs: [NE], action: [goto, LOC_DIFFERENT6]},
+ {verbs: [SW], action: [goto, LOC_DIFFERENT7]},
+ {verbs: [EAST], action: [goto, LOC_DIFFERENT8]},
+ {verbs: [NORTH], action: [goto, LOC_DIFFERENT9]},
+ {verbs: [NW], action: [goto, LOC_DIFFERENT10]},
+ {verbs: [SE], action: [goto, LOC_DIFFERENT11]},
+ {verbs: [SOUTH], action: [goto, LOC_DIFFERENT2]},
+ ]
+- LOC_DIFFERENT6:
+ description:
+ long: 'You are in a twisting little maze of passages, all different.'
+ short: !!null
+ maptag: 'Maze all different.'
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
+ travel: [
+ {verbs: [NE], action: [goto, LOC_DIFFERENT1]},
+ {verbs: [NORTH], action: [goto, LOC_DIFFERENT3]},
+ {verbs: [NW], action: [goto, LOC_DIFFERENT4]},
+ {verbs: [SE], action: [goto, LOC_DIFFERENT5]},
+ {verbs: [EAST], action: [goto, LOC_DIFFERENT7]},
+ {verbs: [DOWN], action: [goto, LOC_DIFFERENT8]},
+ {verbs: [SOUTH], action: [goto, LOC_DIFFERENT9]},
+ {verbs: [UPWAR], action: [goto, LOC_DIFFERENT10]},
+ {verbs: [WEST], action: [goto, LOC_DIFFERENT11]},
+ {verbs: [SW], action: [goto, LOC_DIFFERENT2]},
+ ]
+- LOC_DIFFERENT7:
+ description:
+ long: 'You are in a twisty little maze of passages, all different.'
+ short: !!null
+ maptag: 'Maze all different.'
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
+ travel: [
+ {verbs: [NORTH], action: [goto, LOC_DIFFERENT1]},
+ {verbs: [SE], action: [goto, LOC_DIFFERENT3]},
+ {verbs: [DOWN], action: [goto, LOC_DIFFERENT4]},
+ {verbs: [SOUTH], action: [goto, LOC_DIFFERENT5]},
+ {verbs: [EAST], action: [goto, LOC_DIFFERENT6]},
+ {verbs: [WEST], action: [goto, LOC_DIFFERENT8]},
+ {verbs: [SW], action: [goto, LOC_DIFFERENT9]},
+ {verbs: [NE], action: [goto, LOC_DIFFERENT10]},
+ {verbs: [NW], action: [goto, LOC_DIFFERENT11]},
+ {verbs: [UPWAR], action: [goto, LOC_DIFFERENT2]},
+ ]
+- LOC_DIFFERENT8:
+ description:
+ long: 'You are in a twisty maze of little passages, all different.'
+ short: !!null
+ maptag: 'Maze all different.'
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_DIFFERENT1]},
+ {verbs: [WEST], action: [goto, LOC_DIFFERENT3]},
+ {verbs: [UPWAR], action: [goto, LOC_DIFFERENT4]},
+ {verbs: [SW], action: [goto, LOC_DIFFERENT5]},
+ {verbs: [DOWN], action: [goto, LOC_DIFFERENT6]},
+ {verbs: [SOUTH], action: [goto, LOC_DIFFERENT7]},
+ {verbs: [NW], action: [goto, LOC_DIFFERENT9]},
+ {verbs: [SE], action: [goto, LOC_DIFFERENT10]},
+ {verbs: [NE], action: [goto, LOC_DIFFERENT11]},
+ {verbs: [NORTH], action: [goto, LOC_DIFFERENT2]},
+ ]
+- LOC_DIFFERENT9:
+ description:
+ long: 'You are in a little twisty maze of passages, all different.'
+ short: !!null
+ maptag: 'Maze all different.'
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
+ travel: [
+ {verbs: [SE], action: [goto, LOC_DIFFERENT1]},
+ {verbs: [NE], action: [goto, LOC_DIFFERENT3]},
+ {verbs: [SOUTH], action: [goto, LOC_DIFFERENT4]},
+ {verbs: [DOWN], action: [goto, LOC_DIFFERENT5]},
+ {verbs: [UPWAR], action: [goto, LOC_DIFFERENT6]},
+ {verbs: [NW], action: [goto, LOC_DIFFERENT7]},
+ {verbs: [NORTH], action: [goto, LOC_DIFFERENT8]},
+ {verbs: [SW], action: [goto, LOC_DIFFERENT10]},
+ {verbs: [EAST], action: [goto, LOC_DIFFERENT11]},
+ {verbs: [WEST], action: [goto, LOC_DIFFERENT2]},
+ ]
+- LOC_DIFFERENT10:
+ description:
+ long: 'You are in a maze of little twisting passages, all different.'
+ short: !!null
+ maptag: 'Maze all different.'
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
+ travel: [
+ {verbs: [DOWN], action: [goto, LOC_DIFFERENT1]},
+ {verbs: [EAST], action: [goto, LOC_DIFFERENT3]},
+ {verbs: [NE], action: [goto, LOC_DIFFERENT4]},
+ {verbs: [UPWAR], action: [goto, LOC_DIFFERENT5]},
+ {verbs: [WEST], action: [goto, LOC_DIFFERENT6]},
+ {verbs: [NORTH], action: [goto, LOC_DIFFERENT7]},
+ {verbs: [SOUTH], action: [goto, LOC_DIFFERENT8]},
+ {verbs: [SE], action: [goto, LOC_DIFFERENT9]},
+ {verbs: [SW], action: [goto, LOC_DIFFERENT11]},
+ {verbs: [NW], action: [goto, LOC_DIFFERENT2]},
+ ]
+- LOC_DIFFERENT11:
+ description:
+ long: 'You are in a maze of little twisty passages, all different.'
+ short: !!null
+ maptag: 'Maze all different.'
+ conditions: {DEEP: true, NOBACK: true, ALLDIFFERENT: true}
+ travel: [
+ {verbs: [SW], action: [goto, LOC_DIFFERENT1]},
+ {verbs: [NW], action: [goto, LOC_DIFFERENT3]},
+ {verbs: [EAST], action: [goto, LOC_DIFFERENT4]},
+ {verbs: [WEST], action: [goto, LOC_DIFFERENT5]},
+ {verbs: [NORTH], action: [goto, LOC_DIFFERENT6]},
+ {verbs: [DOWN], action: [goto, LOC_DIFFERENT7]},
+ {verbs: [SE], action: [goto, LOC_DIFFERENT8]},
+ {verbs: [UPWAR], action: [goto, LOC_DIFFERENT9]},
+ {verbs: [SOUTH], action: [goto, LOC_DIFFERENT10]},
+ {verbs: [NE], action: [goto, LOC_DIFFERENT2]},
+ ]
+- LOC_DEADEND13:
+ description:
+ long: 'Dead end'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true, ALLDIFFERENT: true}
+ travel: [
+ {verbs: [NORTH, OUT], action: [goto, LOC_DIFFERENT2]},
+ {verbs: [SOUTH], cond: [not, VEND, VEND_BLOCKS], action: [goto, LOC_ROUGHHEWN]},
+ {verbs: [SOUTH], action: [goto, LOC_BADDIRECTION]},
+ ]
+- LOC_ROUGHHEWN:
+ description:
+ long: 'You are in a long, rough-hewn, north/south corridor.'
+ short: !!null
+ maptag: 'Rough-hewn corridor'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [NORTH], action: [goto, LOC_DEADEND13]},
+ {verbs: [SOUTH], action: [goto, LOC_LARGE]},
+ ]
+- LOC_BADDIRECTION:
+ description:
+ long: 'There is no way to go that direction.'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_DEADEND13]},
+ ]
+- LOC_LARGE:
+ description:
+ long: 'You are in a large chamber with passages to the west and north.'
+ short: !!null
+ maptag: 'Large chamber.'
+ conditions: {DEEP: true}
+ hints: [*ogre]
+ travel: [
+ {verbs: [WEST], action: [goto, LOC_ROUGHHEWN]},
+ {verbs: [NORTH], cond: [with, OGRE], action: [speak, OGRE_SNARL]},
+ {verbs: [NORTH], action: [goto, LOC_STOREROOM]},
+ ]
+- LOC_STOREROOM:
+ description:
+ long: 'You are in the ogre''s storeroom. The only exit is to the south.'
+ short: !!null
+ maptag: 'Ogre''s storeroom.'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [SOUTH, OUT], action: [goto, LOC_LARGE]},
+ ]
+- LOC_FOREST1:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_START]},
+ {verbs: [WEST], action: [goto, LOC_FOREST13]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST2]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST3]},
+ ]
+- LOC_FOREST2:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_FOREST1]},
+ {verbs: [WEST], action: [goto, LOC_FOREST19]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST3]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST18]},
+ ]
+- LOC_FOREST3:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST, WEST], action: [goto, LOC_FOREST4]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST2]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST1]},
+ ]
+- LOC_FOREST4:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST, NORTH], action: [goto, LOC_FOREST3]},
+ {verbs: [WEST, SOUTH], action: [goto, LOC_FOREST5]},
+ ]
+- LOC_FOREST5:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST, NORTH], action: [goto, LOC_FOREST4]},
+ {verbs: [WEST], action: [goto, LOC_FOREST7]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST6]},
+ ]
+- LOC_FOREST6:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_FOREST5]},
+ {verbs: [WEST], action: [goto, LOC_FOREST7]},
+ {verbs: [NORTH], action: [goto, LOC_VALLEY]},
+ {verbs: [SOUTH], action: [goto, LOC_SLIT]},
+ ]
+- LOC_FOREST7:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_FOREST5]},
+ {verbs: [WEST], action: [goto, LOC_FOREST6]},
+ {verbs: [NORTH], action: [goto, LOC_GRATE]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST8]},
+ ]
+- LOC_FOREST8:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_FOREST9]},
+ {verbs: [WEST], action: [goto, LOC_FOREST11]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST22]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST7]},
+ ]
+- LOC_FOREST9:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_FOREST11]},
+ {verbs: [WEST], action: [goto, LOC_FOREST8]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST10]},
+ {verbs: [SOUTH], action: [goto, LOC_GRATE]},
+ ]
+- LOC_FOREST10:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_SLIT]},
+ {verbs: [WEST], action: [goto, LOC_FOREST11]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST9]},
+ {verbs: [SOUTH], action: [goto, LOC_GRATE]},
+ ]
+- LOC_FOREST11:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_FOREST10]},
+ {verbs: [WEST], action: [goto, LOC_FOREST8]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST22]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST9]},
+ ]
+- LOC_FOREST12:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_FOREST13]},
+ {verbs: [WEST], action: [goto, LOC_FOREST14]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST22]},
+ {verbs: [SOUTH], action: [goto, LOC_VALLEY]},
+ ]
+- LOC_FOREST13:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_FOREST1]},
+ {verbs: [WEST], action: [goto, LOC_FOREST12]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST20]},
+ {verbs: [SOUTH], action: [goto, LOC_HILL]},
+ ]
+- LOC_FOREST14:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_ROADEND]},
+ {verbs: [WEST], action: [goto, LOC_FOREST16]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST15]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST12]},
+ ]
+- LOC_FOREST15:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_FOREST16]},
+ {verbs: [WEST], action: [goto, LOC_FOREST22]},
+ {verbs: [NORTH], action: [goto, LOC_ROADEND]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST14]},
+ ]
+- LOC_FOREST16:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST, NORTH], action: [goto, LOC_FOREST17]},
+ {verbs: [WEST], action: [goto, LOC_FOREST14]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST15]},
+ ]
+- LOC_FOREST17:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_FOREST18]},
+ {verbs: [WEST, SOUTH], action: [goto, LOC_FOREST16]},
+ {verbs: [NORTH], action: [goto, LOC_CLIFF]},
+ ]
+- LOC_FOREST18:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_FOREST19]},
+ {verbs: [WEST], action: [goto, LOC_FOREST17]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST2]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST21]},
+ ]
+- LOC_FOREST19:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_FOREST2]},
+ {verbs: [WEST], action: [goto, LOC_FOREST18]},
+ {verbs: [NORTH], action: [goto, LOC_CLIFF]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST20]},
+ ]
+- LOC_FOREST20:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_HILL]},
+ {verbs: [WEST], action: [goto, LOC_FOREST21]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST19]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST13]},
+ ]
+- LOC_FOREST21:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_FOREST20]},
+ {verbs: [WEST], action: [goto, LOC_ROADEND]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST18]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST21]},
+ ]
+- LOC_FOREST22:
+ description:
+ long: 'You are wandering aimlessly through the forest.'
+ short: !!null
+ maptag: 'Forest.'
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
+ hints: [*forest]
+ travel: [
+ {verbs: [EAST], action: [goto, LOC_FOREST8]},
+ {verbs: [WEST], action: [goto, LOC_FOREST11]},
+ {verbs: [NORTH], action: [goto, LOC_FOREST15]},
+ {verbs: [SOUTH], action: [goto, LOC_FOREST12]},
+ ]
+- LOC_LEDGE:
+ description:
+ long: |-
+ You are on a small ledge on one face of a sheer cliff. There are no
+ paths away from the ledge. Across the chasm is a small clearing
+ surrounded by forest.
+ short: 'You''re on ledge.'
+ maptag: !!null
+ conditions: {ABOVE: true, LIT: true}
+ travel: [
+ {verbs: [JUMP], action: [goto, LOC_NOMAKE]},
+ ]
+- LOC_RESBOTTOM:
+ description:
+ long: |-
+ You are walking across the bottom of the reservoir. Walls of water
+ rear up on either side. The roar of the water cascading past is
+ nearly deafening, and the mist is so thick you can barely see.
+ short: 'You''re at bottom of reservoir.'
+ maptag: !!null
+ conditions: {FLUID: true, DEEP: true}
+ sound: TOTAL_ROAR
+ loud: true
+ travel: [
+ {verbs: [NORTH], action: [goto, LOC_RESNORTH]},
+ {verbs: [SOUTH], action: [goto, LOC_RESERVOIR]},
+ ]
+- LOC_RESNORTH:
+ description:
+ long: |-
+ You are at the northern edge of the reservoir. A northwest passage
+ leads sharply up from here.
+ short: 'You''re north of reservoir.'
+ maptag: !!null
+ conditions: {FLUID: true, DEEP: true}
+ sound: WATERS_CRASHING
+ travel: [
+ {verbs: [SOUTH, ACROS, CROSS],
+ cond: [not, RESER, WATERS_PARTED], action: [speak, BAD_DIRECTION]},
+ {verbs: [SOUTH], action: [goto, LOC_RESBOTTOM]},
+ {verbs: [NW, UPWAR, OUT], action: [goto, LOC_TREACHEROUS]},
+ ]
+- LOC_TREACHEROUS:
+ description:
+ long: 'You are scrambling along a treacherously steep, rocky passage.'
+ short: !!null
+ maptag: 'Rocky passage.'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [UPWAR, NW], action: [goto, LOC_STEEP]},
+ {verbs: [DOWN, SE], action: [goto, LOC_RESNORTH]},
+ ]
+- LOC_STEEP:
+ description:
+ long: 'You are on a very steep incline, which widens at it goes upward.'
+ short: !!null
+ maptag: 'Steep incline'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [DOWN, SE], action: [goto, LOC_TREACHEROUS]},
+ {verbs: [UPWAR, NW], action: [goto, LOC_CLIFFBASE]},
+ ]
+- LOC_CLIFFBASE:
+ description:
+ long: |-
+ You are at the base of a nearly vertical cliff. There are some
+ slim footholds which would enable you to climb up, but it looks
+ extremely dangerous. Here at the base of the cliff lie the remains
+ of several earlier adventurers who apparently failed to make it.
+ short: 'You''re at base of cliff.'
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [DOWN, SE], action: [goto, LOC_STEEP]},
+ {verbs: [UPWAR, CLIMB], action: [goto, LOC_CLIFFACE]},
+ ]
+- LOC_CLIFFACE:
+ description:
+ long: 'You are climbing along a nearly vertical cliff.'
+ short: !!null
+ maptag: 'Vertical cliff.'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [DOWN], action: [goto, LOC_CLIFFBASE]},
+ {verbs: [UPWAR], cond: [carry, RABBITFOOT], action: [goto, LOC_CLIFFTOP]},
+ {verbs: [UPWAR], action: [goto, LOC_FOOTSLIP]},
+ ]
+- LOC_FOOTSLIP:
+ description:
+ long: |-
+ Just as you reach the top, your foot slips on a loose rock and you
+ tumble several hundred feet to join the other unlucky adventurers.
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_NOWHERE]},
+ ]
+- LOC_CLIFFTOP:
+ description:
+ long: |-
+ Just as you reach the top, your foot slips on a loose rock and you
+ make one last desperate grab. Your luck holds, as does your grip.
+ With an enormous heave, you lift yourself to the ledge above.
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_CLIFFLEDGE]},
+ ]
+- LOC_CLIFFLEDGE:
+ description:
+ long: |-
+ You are on a small ledge at the top of a nearly vertical cliff.
+ There is a low crawl leading off to the northeast.
+ short: 'You''re at top of cliff.'
+ maptag: 'Clifftop'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [CLIMB, DOWN], action: [goto, LOC_CLIFFACE]},
+ {verbs: [NE, CRAWL], action: [goto, LOC_REACHDEAD]},
+ ]
+- LOC_REACHDEAD:
+ description:
+ long: 'You have reached a dead end.'
+ short: !!null
+ maptag: 'Dead end.'
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [SW, OUT, CRAWL], action: [goto, LOC_CLIFFLEDGE]},
+ ]
+- LOC_GRUESOME:
+ description:
+ long: 'There is now one more gruesome aspect to the spectacular vista.'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_NOWHERE]},
+ ]
+- LOC_FOOF1:
+ description:
+ long: '>>Foof!<<'
+ short: !!null
+ maptag: !!null
+ conditions: {}
+ travel: [
+ {verbs: [], action: [goto, LOC_DEBRIS]},
+ ]
+- LOC_FOOF2:
+ description:
+ long: '>>Foof!<<'
+ short: !!null
+ maptag: !!null
+ conditions: {ABOVE: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_BUILDING]},
+ ]
+- LOC_FOOF3:
+ description:
+ long: '>>Foof!<<'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_Y2]},
+ ]
+- LOC_FOOF4:
+ description:
+ long: '>>Foof!<<'
+ short: !!null
+ maptag: !!null
+ conditions: {ABOVE: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_BUILDING]},
+ ]
+- LOC_FOOF5:
+ description:
+ long: '>>Foof!<<'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_PLOVER]},
+ ]
+- LOC_FOOF6:
+ description:
+ long: '>>Foof!<<'
+ short: !!null
+ maptag: !!null
+ conditions: {DEEP: true}
+ travel: [
+ {verbs: [], action: [goto, LOC_Y2]},
+ ]
+
+# Starting locations of dwarves.
+# Sixth dwarf is special (the pirate). He always starts at his
+# chest's eventual location inside the maze.
+dwarflocs: [
+ LOC_KINGHALL,
+ LOC_WESTBANK,
+ LOC_Y2,
+ LOC_ALIKE3,
+ LOC_COMPLEX,
+ LOC_MAZEEND12,
+]
+
+arbitrary_messages: !!omap
+- NO_MESSAGE: !!null
+- CAVE_NEARBY: |-
+ Somewhere nearby is Colossal Cave, where others have found fortunes in
+ treasure and gold, though it is rumored that some who enter are never
+ seen again. Magic is said to work in the cave. I will be your eyes
+ and hands. Direct me with commands of 1 or 2 words. I should warn
+ you that I look at only the first five letters of each word, so you'll
+ have to enter "northeast" as "ne" to distinguish it from "north".
+ You can type "help" for some general hints. For information on how
+ to end your adventure, scoring, etc., type "info".
+ \t\t\t - - -
+ This program was originally developed by Willie Crowther. Most of the
+ features of the current program were added by Don Woods.
+- DWARF_BLOCK: 'A little dwarf with a big knife blocks your way.'
+- DWARF_RAN: |-
+ A little dwarf just walked around a corner, saw you, threw a little
+ axe at you which missed, cursed, and ran away.
+- DWARF_PACK: 'There are %d threatening little dwarves in the room with you.'
+- DWARF_SINGLE: 'There is a threatening little dwarf in the room with you!'
+- KNIFE_THROWN: 'One sharp nasty knife is thrown at you!'
+- SAYS_PLUGH: 'A hollow voice says "PLUGH".'
+- GETS_YOU: 'It gets you!'
+- MISSES_YOU: 'It misses!'
+- UNSURE_FACING: 'I am unsure how you are facing. Use compass points or nearby objects.'
+- NO_INOUT_HERE: |-
+ I don't know in from out here. Use compass points or name something
+ in the general direction you want to go.
+- CANT_APPLY: 'I don''t know how to apply that word here.'
+- AM_GAME: &am_game 'I''m game. Would you care to explain how?'
+- NO_MORE_DETAIL: |-
+ Sorry, but I am not allowed to give more detail. I will repeat the
+ long description of your location.
+- PITCH_DARK: 'It is now pitch dark. If you proceed you will likely fall into a pit.'
+- W_IS_WEST: 'If you prefer, simply type w rather than west.'
+- REALLY_QUIT: 'Do you really want to quit now?'
+- PIT_FALL: 'You fell into a pit and broke every bone in your body!'
+- ALREADY_CARRYING: &already_carrying 'You are already carrying it!'
+- YOU_JOKING: 'You can''t be serious!'
+- BIRD_EVADES: |-
+ The bird seemed unafraid at first, but as you approach it becomes
+ disturbed and you cannot catch it.
+- CANNOT_CARRY: 'You can catch the bird, but you cannot carry it.'
+- NOTHING_LOCKED: 'There is nothing here with a lock!'
+- ARENT_CARRYING: &arent_carrying 'You aren''t carrying it!'
+- BIRD_ATTACKS: |-
+ The little bird attacks the green snake, and in an astounding flurry
+ drives the snake away.
+- NO_KEYS: 'You have no keys!'
+- NO_LOCK: 'It has no lock.'
+- NOT_LOCKABLE: ¬_lockable 'I don''t know how to lock or unlock such a thing.'
+- ALREADY_LOCKED: 'It was already locked.'
+- ALREADY_UNLOCKED: 'It was already unlocked.'
+- BEAR_BLOCKS: |-
+ There is no way to get past the bear to unlock the chain, which is
+ probably just as well.
+- NOTHING_HAPPENS: ¬hing_happens 'Nothing happens.'
+- WHERE_QUERY: &where_query 'Where?'
+- NO_TARGET: 'There is nothing here to attack.'
+- BIRD_DEAD: 'The little bird is now dead. Its body disappears.'
+- SNAKE_WARNING: 'Attacking the snake both doesn''t work and is very dangerous.'
+- KILLED_DWARF: 'You killed a little dwarf.'
+- DWARF_DODGES: 'You attack a little dwarf, but he dodges out of the way.'
+- BARE_HANDS_QUERY: 'With what? Your bare hands?'
+- BAD_DIRECTION: 'There is no way to go that direction.'
+- TWO_WORDS: 'Please stick to 1- and 2-word commands.'
+- OK_MAN: &ok_man 'OK'
+- CANNOT_UNLOCK: 'You can''t unlock the keys.'
+- FUTILE_CRAWL: |-
+ You have crawled around in some little holes and wound up back in the
+ main passage.
+- FOLLOW_STREAM: |-
+ I don't know where the cave is, but hereabouts no stream can run on
+ the surface for long. I would try the stream.
+- NEED_DETAIL: 'I need more detailed instructions to do that.'
+- NEARBY: &nearby |-
+ I can only tell you what you see as you move about and manipulate
+ things. I cannot tell you where remote things are.
+- OGRE_SNARL: 'The ogre snarls and shoves you back.'
+- HUH_MAN: &huh_man 'Huh?'
+- WELCOME_YOU: 'Welcome to Adventure!! Would you like instructions?'
+- REQUIRES_DYNAMITE: &requires_dynamite 'Blasting requires dynamite.'
+- FEET_WET: 'Your feet are now wet.'
+- LOST_APPETITE: 'I think I just lost my appetite.'
+- THANKS_DELICIOUS: 'Thank you, it was delicious!'
+- PECULIAR_NOTHING: 'Peculiar. Nothing unexpected happens.'
+- GROUND_WET: 'Your bottle is empty and the ground is wet.'
+- CANT_POUR: 'You can''t pour that.'
+- WHICH_WAY: 'Which way?'
+- FORGOT_PATH: 'Sorry, but I no longer seem to remember how it was you got here.'
+- CARRY_LIMIT: 'You can''t carry anything more. You''ll have to drop something first.'
+- GRATE_NOWAY: 'You can''t go through a locked steel grate!'
+- YOU_HAVEIT: 'I believe what you want is right here with you.'
+- DONT_FIT: 'You don''t fit through a two-inch slit!'
+- CROSS_BRIDGE: 'I respectfully suggest you go across the bridge instead of jumping.'
+- NO_CROSS: 'There is no way across the fissure.'
+- NO_CARRY: 'You''re not carrying anything.'
+- NOW_HOLDING: 'You are currently holding the following:'
+- BIRD_PINING: |-
+ It's not hungry (it's merely pinin' for the fjords). Besides, you
+ have no bird seed.
+- BIRD_DEVOURED: 'The snake has now devoured your bird.'
+- NOTHING_EDIBLE: 'There''s nothing here it wants to eat (except perhaps you).'
+- REALLY_MAD: 'You fool, dwarves eat only coal! Now you''ve made him *REALLY* mad!!'
+- NO_CONTAINER: 'You have nothing in which to carry it.'
+- BOTTLE_FULL: 'Your bottle is already full.'
+- NO_LIQUID: 'There is nothing here with which to fill the bottle.'
+- RIDICULOUS_ATTEMPT: &ridiculous_attempt 'Don''t be ridiculous!'
+- RUSTY_DOOR: 'The door is extremely rusty and refuses to open.'
+- SHAKING_LEAVES: 'The plant indignantly shakes the oil off its leaves and asks, "Water?"'
+- DEEP_ROOTS: 'The plant has exceptionally deep roots and cannot be pulled free.'
+- KNIVES_VANISH: 'The dwarves'' knives vanish as they strike the walls of the cave.'
+- MUST_DROP: |-
+ Something you're carrying won't fit through the tunnel with you.
+ You'd best take inventory and drop something.
+- CLAM_BLOCKER: 'You can''t fit this five-foot clam through that little passage!'
+- OYSTER_BLOCKER: 'You can''t fit this five-foot oyster through that little passage!'
+- DROP_CLAM: 'I advise you to put down the clam before opening it. >STRAIN!<'
+- DROP_OYSTER: 'I advise you to put down the oyster before opening it. >WRENCH!<'
+- CLAM_OPENER: 'You don''t have anything strong enough to open the clam.'
+- OYSTER_OPENER: 'You don''t have anything strong enough to open the oyster.'
+- PEARL_FALLS: |-
+ A glistening pearl falls out of the clam and rolls away. Goodness,
+ this must really be an oyster. (I never was very good at identifying
+ bivalves.) Whatever it is, it has now snapped shut again.
+- OYSTER_OPENS: |-
+ The oyster creaks open, revealing nothing but oyster inside. It
+ promptly snaps shut again.
+- WAY_BLOCKED: |-
+ You have crawled around in some little holes and found your way
+ blocked by a recent cave-in. You are now back in the main passage.
+- PIRATE_RUSTLES: 'There are faint rustling noises from the darkness behind you.'
+- PIRATE_POUNCES: |-
+ Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+ he chortles, "I'll just take all this booty and hide it away with me
+ chest deep in the maze!" He snatches your treasure and vanishes into
+ the gloom.
+- CAVE_CLOSING: |-
+ A sepulchral voice reverberating through the cave, says, "Cave closing
+ soon. All adventurers exit immediately through main office."
+- EXIT_CLOSED: |-
+ A mysterious recorded voice groans into life and announces:
+ "This exit is closed. Please leave via main office."
+- DEATH_CLOSING: |-
+ It looks as though you're dead. Well, seeing as how it's so close to
+ closing time anyway, I think we'll just call it a day.
+- CAVE_CLOSED: |-
+ The sepulchral voice intones, "The cave is now closed." As the echoes
+ fade, there is a blinding flash of light (and a small puff of orange
+ smoke). . . . As your eyes refocus, you look around and find...
+- VICTORY_MESSAGE: |-
+ There is a loud explosion, and a twenty-foot hole appears in the far
+ wall, burying the dwarves in the rubble. You march through the hole
+ and find yourself in the main office, where a cheering band of
+ friendly elves carry the conquering adventurer off into the sunset.
+- DEFEAT_MESSAGE: |-
+ There is a loud explosion, and a twenty-foot hole appears in the far
+ wall, burying the snakes in the rubble. A river of molten lava pours
+ in through the hole, destroying everything in its path, including you!
+- SPLATTER_MESSAGE: |-
+ There is a loud explosion, and you are suddenly splashed across the
+ walls of the room.
+- DWARVES_AWAKEN: |-
+ The resulting ruckus has awakened the dwarves. There are now several
+ threatening little dwarves in the room with you! Most of them throw
+ knives at you! All of them get you!
+- UNHAPPY_BIRD: 'Oh, leave the poor unhappy bird alone.'
+- NEEDED_NEARBY: 'I daresay whatever you want is around here somewhere.'
+- NOT_CONNECTED: 'You can''t get there from here.'
+- TAME_BEAR: 'You are being followed by a very large, tame bear.'
+- WITHOUT_SUSPENDS: 'Now let''s see you do it without suspending in mid-Adventure.'
+- FILL_INVALID: 'There is nothing here with which to fill it.'
+- SHATTER_VASE: 'The sudden change in temperature has delicately shattered the vase.'
+- BEYOND_POWER: &beyond_power 'It is beyond your power to do that.'
+- NOT_KNOWHOW: ¬_knowhow 'I don''t know how.'
+- TOO_FAR: 'It is too far up for you to reach.'
+- DWARF_SMOKE: |-
+ You killed a little dwarf. The body vanishes in a cloud of greasy
+ black smoke.
+- SHELL_IMPERVIOUS: 'The shell is very strong and is impervious to attack.'
+- START_OVER: 'What''s the matter, can''t you read? Now you''d best start over.'
+- WELL_POINTLESS: 'Well, that was remarkably pointless!'
+- DRAGON_SCALES: 'The axe bounces harmlessly off the dragon''s thick scales.'
+- NASTY_DRAGON: 'The dragon looks rather nasty. You''d best not try to get by.'
+- BIRD_BURNT: |-
+ The little bird attacks the green dragon, and in an astounding flurry
+ gets burnt to a cinder. The ashes blow away.
+- BRIEF_CONFIRM: |-
+ Okay, from now on I'll only describe a place in full the first time
+ you come to it. To get the full description, say "look".
+- ROCKY_TROLL: |-
+ Trolls are close relatives with the rocks and have skin as tough as
+ that of a rhinoceros. The troll fends off your blows effortlessly.
+- TROLL_RETURNS: |-
+ The troll deftly catches the axe, examines it carefully, and tosses it
+ back, declaring, "Good workmanship, but it's not valuable enough."
+- TROLL_SATISFIED: 'The troll catches your treasure and scurries away out of sight.'
+- TROLL_BLOCKS: 'The troll refuses to let you cross.'
+- BRIDGE_GONE: 'There is no longer any way across the chasm.'
+- BEAR_HANDS: 'With what? Your bare hands? Against *HIS* bear hands??'
+- BEAR_CONFUSED: 'The bear is confused; he only wants to be your friend.'
+- ALREADY_DEAD: 'For crying out loud, the poor thing is already dead!'
+- BEAR_CHAINED: 'The bear is still chained to the wall.'
+- STILL_LOCKED: 'The chain is still locked.'
+- CHAIN_UNLOCKED: 'The chain is now unlocked.'
+- CHAIN_LOCKED: 'The chain is now locked.'
+- NO_LOCKSITE: 'There is nothing here to which the chain can be locked.'
+- WANT_HINT: 'Do you want the hint?'
+- TROLL_VICES: 'Gluttony is not one of the troll''s vices. Avarice, however, is.'
+- LAMP_DIM: |-
+ Your lamp is getting dim. You'd best start wrapping this up, unless
+ you can find some fresh batteries. I seem to recall there's a vending
+ machine in the maze. Bring some coins with you.
+- LAMP_OUT: 'Your lamp has run out of power.'
+- PLEASE_ANSWER: 'Please answer the question.'
+- PIRATE_SPOTTED: |-
+ There are faint rustling noises from the darkness behind you. As you
+ turn toward them, the beam of your lamp falls across a bearded pirate.
+ He is carrying a large chest. "Shiver me timbers!" he cries, "I've
+ been spotted! I'd best hie meself off to the maze to hide me chest!"
+ With that, he vanishes into the gloom.
+- GET_BATTERIES: 'Your lamp is getting dim. You''d best go back for those batteries.'
+- REPLACE_BATTERIES: |-
+ Your lamp is getting dim. I'm taking the liberty of replacing the
+ batteries.
+- MISSING_BATTERIES: |-
+ Your lamp is getting dim, and you're out of spare batteries. You'd
+ best start wrapping this up.
+- REMOVE_MESSAGE: |-
+ You sift your fingers through the dust, but succeed only in
+ obliterating the cryptic message.
+- CLUE_QUERY: |-
+ Hmmm, this looks like a clue, which means it'll cost you 10 points to
+ read it. Should I go ahead and read it anyway?
+- WAYOUT_CLUE: |-
+ It says, "There is a way out of this place. Do you need any more
+ information to escape? Sorry, but this initial hint is all you get."
+- DONT_UNDERSTAND: &dont_understand 'I''m afraid I don''t understand.'
+- HAND_PASSTHROUGH: 'Your hand passes through it as though it weren''t there.'
+- PROD_DWARF: |-
+ You prod the nearest dwarf, who wakes up grumpily, takes one look at
+ you, curses, and grabs for his axe.
+- THIS_ACCEPTABLE: 'Is this acceptable?'
+# This message is not currently used
+#- ALREADY_OVER: |-
+# This adventure is already over. To start a new adventure, or to
+# resume an earlier adventure, please run a fresh copy of the program.
+- OGRE_FULL: 'The ogre doesn''t appear to be hungry.'
+- OGRE_DODGE: |-
+ The ogre, who despite his bulk is quite agile, easily dodges your
+ attack. He seems almost amused by your puny effort.
+- OGRE_PANIC1: |-
+ The ogre, distracted by your rush, is struck by the knife. With a
+ blood-curdling yell he turns and bounds after the dwarves, who flee
+ in panic. You are left alone in the room.
+- OGRE_PANIC2: |-
+ The ogre, distracted by your rush, is struck by the knife. With a
+ blood-curdling yell he turns and bounds after the dwarf, who flees
+ in panic. You are left alone in the room.
+- FREE_FLY: 'The bird flies about agitatedly for a moment.'
+- CAGE_FLY: 'The bird flies agitatedly about the cage.'
+- NECKLACE_FLY: |-
+ The bird flies about agitatedly for a moment, then disappears through
+ the crack. It reappears shortly, carrying in its beak a jade
+ necklace, which it drops at your feet.
+- WATER_URN: |-
+ You empty the bottle into the urn, which promptly ejects the water
+ with uncanny accuracy, squirting you directly between the eyes.
+- OIL_URN: 'Your bottle is now empty and the urn is full of oil.'
+- FULL_URN: 'The urn is already full of oil.'
+- URN_NOPOUR: 'There''s no way to get the oil out of the urn.'
+- URN_NOBUDGE: 'The urn is far too firmly embedded for your puny strength to budge it.'
+- URN_GENIES: |-
+ As you rub the urn, there is a flash of light and a genie appears.
+ His aspect is stern as he advises: "One who wouldst traffic in
+ precious stones must first learn to recognize the signals thereof."
+ He wrests the urn from the stone, leaving a small cavity. Turning to
+ face you again, he fixes you with a steely eye and intones: "Caution!"
+ Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+ to form a rare amber gemstone, resting in the cavity in the rock.
+- DOUGHNUT_HOLES: 'I suppose you collect doughnut holes, too?'
+- GEM_FITS: 'The gem fits easily into the cavity.'
+- RUG_RISES: 'The Persian rug stiffens and rises a foot or so off the ground.'
+- RUG_WIGGLES: |-
+ The Persian rug draped over your shoulder seems to wriggle for a
+ moment, but then subsides.
+- RUG_SETTLES: 'The Persian rug settles gently to the ground.'
+- RUG_HOVERS: 'The rug hovers stubbornly where it is.'
+- RUG_NOTHING1: 'The rug does not appear inclined to cooperate.'
+- RUG_NOTHING2: |-
+ If you mean to use the Persian rug, it does not appear inclined to
+ cooperate.
+- FLAP_ARMS: 'Though you flap your arms furiously, it is to no avail.'
+- RUG_GOES: |-
+ You board the Persian rug, which promptly whisks you across the chasm.
+ You have time for a fleeting glimpse of a two thousand foot drop to a
+ mighty river; then you find yourself on the other side.
+- RUG_RETURNS: 'The rug ferries you back across the chasm.'
+- ALL_SILENT: 'All is silent.'
+- STREAM_GURGLES: 'The stream is gurgling placidly.'
+- WIND_WHISTLES: 'The wind whistles coldly past your ears.'
+- STREAM_SPLASHES: 'The stream splashes loudly into the pool.'
+- NO_MEANING: 'You are unable to make anything of the splashing noise.'
+- MURMURING_SNORING: |-
+ You can hear the murmuring of the beanstalks and the snoring of the
+ dwarves.
+- SNAKES_HISSING: 'A loud hissing emanates from the snake pit.'
+- DULL_RUMBLING: 'The air is filled with a dull rumbling sound.'
+- LOUD_ROAR: 'The roar is quite loud here.'
+- TOTAL_ROAR: 'The roaring is so loud that it drowns out all other sound.'
+- BIRD_CRAP: |-
+ The bird eyes you suspiciously and flutters away. A moment later you
+ feel something wet land on your head, but upon looking up you can see
+ no sign of the culprit.
+- FEW_DROPS: 'There are only a few drops--not enough to carry.'
+- NOT_BRIGHT: '(Uh, y''know, that wasn''t very bright.)'
+- TOOK_LONG: 'It''s a pity you took so long about it.'
+- UPSTREAM_DOWNSTREAM: 'Upstream or downstream?'
+- FOREST_QUERY: !!null
+- WATERS_CRASHING: 'The waters are crashing loudly against the shore.'
+- THROWN_KNIVES: '%d of them throw knives at you!'
+- MULTIPLE_HITS: '%d of them get you!'
+- ONE_HIT: 'One of them gets you!'
+- NONE_HIT: 'None of them hits you!'
+- DONT_KNOW: 'Sorry, I don''t know the word "%s".'
+- WHAT_DO: 'What do you want to do with the %s?'
+- NO_SEE: 'I see no %s here.'
+- DO_WHAT: '%s what?'
+- OKEY_DOKEY: 'Okay, "%s".'
+- GARNERED_POINTS: 'You have garnered %d out of a possible %d points, using %d turn%S.'
+- SUSPEND_WARNING: |-
+ I can suspend your Adventure for you so that you can resume later, but
+ it will cost you 5 points.
+- HINT_COST: 'I am prepared to give you a hint, but it will cost you %d point%S.'
+- TOTAL_SCORE: 'You scored %d out of a possible %d, using %d turn%S.'
+- NEXT_HIGHER: 'To achieve the next higher rating, you need %d more point%S.'
+- NO_HIGHER: |-
+ To achieve the next higher rating would be a neat trick!
+ Congratulations!!
+- OFF_SCALE: 'You just went off my scale!!'
+- SAVERESUME_DISABLED: 'Save and resume are disabled.'
+- RESUME_HELP: 'To resume your Adventure, start a new game and then say "RESUME".'
+# This message is not currently used
+#- TABLE_SPACE: |-
+# Table space used:
+# %d of %d words of messages %d of %d travel options
+# %d of %d vocabulary words %d of %d locations
+# %d of %d objects %d of %d action verbs
+# %d of %d "random" messages %d of %d "class" messages
+# %d of %d hints %d of %d turn thresholds'
+- RESUME_ABANDON: 'To resume an earlier Adventure, you must abandon the current one.'
+- BAD_SAVE: 'Oops, that does not look like a valid save file.'
+- VERSION_SKEW: |-
+ I'm sorry, but that Adventure was begun using Version %d.%d of the
+ save file format, and this program uses Version %d.%d. You must find an instance
+ using that other version in order to resume that Adventure.
+- SAVE_TAMPERING: |-
+ A dark fog creeps in to surround you. From somewhere in the fog you
+ hear a stern voice. "This Adventure has been tampered with! You have
+ been dabbling in magic, knowing not the havoc you might cause thereby.
+ Leave at once, before you do irrevocable harm!" The fog thickens,
+ until at last you can see nothing at all. Your vision then clears,
+ and you find yourself back in The Real World.
+- TWIST_TURN: |-
+ Sorry, but the path twisted and turned so much that I can't figure
+ out which way to go to get back.
+- GO_UNNEEDED: |-
+ You don't have to say "go" every time; just specify a direction or, if
+ it's nearby, name the place to which you wish to move.
+- NUMERIC_REQUIRED:
+ This command requires a numeric argument.
+
+classes:
+- threshold: 0
+ message: !!null
+- threshold: 45
+ message: 'You are obviously a rank amateur. Better luck next time.'
+- threshold: 120
+ message: 'Your score qualifies you as a novice class adventurer.'
+- threshold: 170
+ message: 'You have achieved the rating: "Experienced Adventurer".'
+- threshold: 250
+ message: 'You may now consider yourself a "Seasoned Adventurer".'
+- threshold: 320
+ message: 'You have reached "Junior Master" status.'
+- threshold: 375
+ message: 'Your score puts you in Master Adventurer Class C.'
+- threshold: 410
+ message: 'Your score puts you in Master Adventurer Class B.'
+- threshold: 426
+ message: 'Your score puts you in Master Adventurer Class A.'
+- threshold: 429
+ message: 'All of Adventuredom gives tribute to you, Adventurer Grandmaster!'
+- threshold: 9999
+ message: |-
+ Adventuredom stands in awe -- you have now joined the ranks of the
+ W O R L D C H A M P I O N A D V E N T U R E R S !
+ It may interest you to know that the Dungeon-Master himself has, to
+ my knowledge, never achieved this threshold in fewer than 330 turns.
+
+turn_thresholds:
+- threshold: 350
+ point_loss: 2
+ message: |-
+ Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+ you a couple of points.
+- threshold: 500
+ point_loss: 3
+ message: '500 turns? That''s another few points you''ve lost.'
+- threshold: 1000
+ point_loss: 5
+ message: 'Are you still at it? Five points off for exceeding 1000 turns!'
+- threshold: 2500
+ point_loss: 10
+ message: |-
+ Good grief, don't you *EVER* give up? Do you realize you've spent
+ over 2500 turns at this? That's another ten points off, a total of
+ twenty points lost for taking so long.
+
+# Objects names OBJ_* are not made visible by the map-graph generator.
+# Don't change these casually.
+objects: !!omap
+- NO_OBJECT:
+ inventory: !!null
+ descriptions: !!null
+- KEYS:
+ words: ['keys', 'key']
+ inventory: 'Set of keys'
+ locations: LOC_BUILDING
+ descriptions:
+ - 'There are some keys on the ground here.'
+- LAMP:
+ words: ['lamp', 'lante']
+ inventory: 'Brass lantern'
+ locations: LOC_BUILDING
+ states: [LAMP_DARK, LAMP_BRIGHT]
+ descriptions:
+ - 'There is a shiny brass lamp nearby.'
+ - 'There is a lamp shining nearby.'
+ changes:
+ - 'Your lamp is now off.'
+ - 'Your lamp is now on.'
+- GRATE:
+ words: ['grate']
+ inventory: '*grate'
+ locations: [LOC_GRATE, LOC_BELOWGRATE]
+ immovable: true
+ states: [GRATE_CLOSED, GRATE_OPEN]
+ descriptions:
+ - 'The grate is locked.'
+ - 'The grate is open.'
+ changes:
+ - 'The grate is now locked.'
+ - 'The grate is now unlocked.'
+- CAGE:
+ words: ['cage']
+ inventory: 'Wicker cage'
+ locations: LOC_COBBLE
+ descriptions:
+ - 'There is a small wicker cage discarded nearby.'
+- ROD:
+ words: ['rod']
+ inventory: 'Black rod'
+ locations: LOC_DEBRIS
+ descriptions:
+ - 'A three foot black rod with a rusty star on an end lies nearby.'
+- ROD2:
+ words: ['rod']
+ inventory: 'Black rod'
+ locations: LOC_NOWHERE
+ descriptions:
+ - 'A three foot black rod with a rusty mark on an end lies nearby.'
+- STEPS:
+ words: ['steps']
+ inventory: '*steps'
+ locations: [LOC_PITTOP, LOC_MISTHALL]
+ immovable: true
+ states: [STEPS_DOWN, STEPS_UP]
+ descriptions:
+ - 'Rough stone steps lead down the pit.'
+ - 'Rough stone steps lead up the dome.'
+- BIRD:
+ words: ['bird']
+ inventory: 'Little bird in cage'
+ locations: LOC_BIRDCHAMBER
+ states: [BIRD_UNCAGED, BIRD_CAGED, BIRD_FOREST_UNCAGED]
+ descriptions:
+ - 'A cheerful little bird is sitting here singing.'
+ - 'There is a little bird in the cage.'
+ - 'A cheerful little bird is sitting here singing.'
+ sounds:
+ - 'The bird''s singing is quite melodious.'
+ - 'The bird does not seem inclined to sing while in the cage.'
+ - 'It almost seems as though the bird is trying to tell you something.'
+ - |-
+ To your surprise, you can understand the bird's chirping; it is
+ singing about the joys of its forest home.
+ - 'The bird does not seem inclined to sing while in the cage.'
+ - |-
+ The bird is singing to you in gratitude for your having returned it to
+ its home. In return, it informs you of a magic word which it thinks
+ you may find useful somewhere near the Hall of Mists. The magic word
+ changes frequently, but for now the bird believes it is "%s". You
+ thank the bird for this information, and it flies off into the forest.
+- DOOR:
+ words: ['door']
+ inventory: '*rusty door'
+ locations: LOC_IMMENSE
+ immovable: true
+ states: [DOOR_RUSTED, DOOR_UNRUSTED]
+ descriptions:
+ - 'The way north is barred by a massive, rusty, iron door.'
+ - 'The way north leads through a massive, rusty, iron door.'
+ changes:
+ - 'The hinges are quite thoroughly rusted now and won''t budge.'
+ - |-
+ The oil has freed up the hinges so that the door will now move,
+ although it requires some effort.
+- PILLOW:
+ words: ['pillo', 'velve']
+ inventory: 'Velvet pillow'
+ locations: LOC_SOFTROOM
+ descriptions:
+ - 'A small velvet pillow lies on the floor.'
+- SNAKE:
+ words: ['snake']
+ inventory: '*snake'
+ locations: LOC_KINGHALL
+ immovable: true
+ states: [SNAKE_BLOCKS, SNAKE_CHASED]
+ descriptions:
+ - 'A huge green fierce snake bars the way!'
+ - '' # chased away
+ sounds:
+ - 'The snake is hissing venomously.'
+ - ''
+- FISSURE:
+ words: ['fissu']
+ inventory: '*fissure'
+ locations: [LOC_EASTBANK, LOC_WESTBANK]
+ immovable: true
+ states: [UNBRIDGED, BRIDGED]
+ descriptions:
+ - ''
+ - 'A crystal bridge spans the fissure.'
+ changes:
+ - 'The crystal bridge has vanished!'
+ - 'A crystal bridge now spans the fissure.'
+- OBJ_13:
+ words: ['table']
+ inventory: '*stone tablet'
+ locations: LOC_DARKROOM
+ immovable: true
+ descriptions:
+ - |-
+ A massive stone tablet embedded in the wall reads:
+ "Congratulations on bringing light into the dark-room!"
+ texts:
+ - '"Congratulations on bringing light into the dark-room!"'
+- CLAM:
+ words: ['clam']
+ inventory: 'Giant clam >GRUNT!<'
+ locations: LOC_SHELLROOM
+ descriptions:
+ - 'There is an enormous clam here with its shell tightly closed.'
+ sounds:
+ - 'The clam is as tight-mouthed as a, er, clam.'
+- OYSTER:
+ words: ['oyste']
+ inventory: 'Giant oyster >GROAN!<'
+ locations: LOC_NOWHERE
+ descriptions:
+ - 'There is an enormous oyster here with its shell tightly closed.'
+ - 'Interesting. There seems to be something written on the underside of\nthe oyster.'
+ sounds:
+ - 'Even though it''s an oyster, the critter''s as tight-mouthed as a clam.'
+ - 'It says the same thing it did before. Hm, maybe it''s a pun?'
+- MAGAZINE:
+ words: ['magaz', 'issue', 'spelu', '"spel']
+ inventory: '"Spelunker Today"'
+ locations: LOC_ANTEROOM
+ descriptions:
+ - 'There are a few recent issues of "Spelunker Today" magazine here.'
+ texts:
+ - |-
+ I'm afraid the magazine is written in dwarvish. But penciled on one
+ cover you see, "Please leave the magazines at the construction site."
+- DWARF:
+ words: ['dwarf', 'dwarv']
+ inventory: !!null
+ locations: LOC_NOWHERE
+ immovable: true
+ descriptions: !!null
+- KNIFE:
+ words: ['knife', 'knive']
+ inventory: !!null
+ locations: LOC_NOWHERE
+ descriptions: !!null
+- FOOD:
+ words: ['food', 'ratio']
+ inventory: 'Tasty food'
+ locations: LOC_BUILDING
+ descriptions:
+ - 'There is food here.'
+- BOTTLE:
+ words: ['bottl', 'jar']
+ inventory: 'Small bottle'
+ locations: LOC_BUILDING
+ states: [WATER_BOTTLE, EMPTY_BOTTLE, OIL_BOTTLE]
+ descriptions:
+ - 'There is a bottle of water here.'
+ - 'There is an empty bottle here.'
+ - 'There is a bottle of oil here.'
+ changes:
+ - 'Your bottle is now full of water.'
+ - 'The bottle of water is now empty.'
+ - 'Your bottle is now full of oil.'
+- WATER:
+ words: ['water', 'h2o']
+ inventory: 'Water in the bottle'
+ locations: LOC_NOWHERE
+ descriptions: !!null
+- OIL:
+ words: ['oil']
+ inventory: 'Oil in the bottle'
+ locations: LOC_NOWHERE
+ descriptions: !!null
+- MIRROR:
+ words: ['mirro']
+ inventory: '*mirror'
+ locations: LOC_MIRRORCANYON
+ immovable: true
+ states: [MIRROR_UNBROKEN, MIRROR_BROKEN]
+ descriptions:
+ - ''
+ - ''
+ changes:
+ - ''
+ - |-
+ You strike the mirror a resounding blow, whereupon it shatters into a
+ myriad tiny fragments.
+- PLANT:
+ words: ['plant', 'beans']
+ inventory: '*plant'
+ locations: LOC_WESTPIT
+ immovable: true
+ states: [PLANT_THIRSTY, PLANT_BELLOWING, PLANT_GROWN]
+ descriptions:
+ - 'There is a tiny little plant in the pit, murmuring "water, water, ..."'
+ - 'There is a 12-foot-tall beanstalk stretching up out of the pit,\nbellowing "WATER!! WATER!!"'
+ - 'There is a gigantic beanstalk stretching all the way up to the hole.'
+ changes:
+ - 'You''ve over-watered the plant! It''s shriveling up! And now . . .'
+ - 'The plant spurts into furious growth for a few seconds.'
+ - 'The plant grows explosively, almost filling the bottom of the pit.'
+ sounds:
+ - 'The plant continues to ask plaintively for water.'
+ - 'The plant continues to demand water.'
+ - 'The plant now maintains a contented silence.'
+- PLANT2:
+ words: ['plant']
+ inventory: '*phony plant' # seen in Twopit Room only when tall enough
+ locations: [LOC_WESTEND, LOC_EASTEND]
+ immovable: true
+ descriptions:
+ - ''
+ - 'The top of a 12-foot-tall beanstalk is poking out of the west pit.'
+ - 'There is a huge beanstalk growing out of the west pit up to the hole.'
+- OBJ_26:
+ words: ['stala']
+ inventory: '*stalactite'
+ locations: LOC_TOPSTALACTITE
+ immovable: true
+ descriptions:
+ - ''
+- OBJ_27:
+ words: ['shado', 'figur', 'windo']
+ inventory: '*shadowy figure and/or window'
+ locations: [LOC_WINDOW1, LOC_WINDOW2]
+ immovable: true
+ descriptions:
+ - 'The shadowy figure seems to be trying to attract your attention.'
+- AXE:
+ words: ['axe']
+ inventory: 'Dwarf''s axe'
+ locations: LOC_NOWHERE
+ states: [AXE_HERE, AXE_LOST]
+ descriptions:
+ - 'There is a little axe here.'
+ - 'There is a little axe lying beside the bear.'
+ changes:
+ - ''
+ - 'The axe misses and lands near the bear where you can''t get at it.'
+- OBJ_29:
+ words: ['drawi']
+ inventory: '*cave drawings'
+ locations: LOC_ORIENTAL
+ immovable: true
+ descriptions: !!null
+- OBJ_30:
+ words: ['pirat', 'genie', 'djinn']
+ inventory: '*pirate/genie'
+ locations: LOC_NOWHERE
+ immovable: true
+ descriptions: !!null # never present
+- DRAGON:
+ words: ['drago']
+ inventory: '*dragon'
+ locations: [LOC_SECRET4, LOC_SECRET6]
+ immovable: true
+ states: [DRAGON_BARS, DRAGON_DEAD, DRAGON_BLOODLESS]
+ descriptions:
+ - 'A huge green fierce dragon bars the way!'
+ - 'The blood-specked body of a huge green dead dragon lies to one side.'
+ - 'The body of a huge green dead dragon is lying off to one side.'
+ changes:
+ - ''
+ - |-
+ Congratulations! You have just vanquished a dragon with your bare
+ hands! (Unbelievable, isn't it?)
+ - 'Your head buzzes strangely for a moment.'
+ sounds:
+ - 'The dragon''s ominous hissing does not bode well for you.'
+ - 'The dragon is, not surprisingly, silent.'
+ - 'The dragon is, not surprisingly, silent.'
+- CHASM:
+ words: ['chasm']
+ inventory: '*chasm'
+ locations: [LOC_SWCHASM, LOC_NECHASM]
+ immovable: true
+ states: [TROLL_BRIDGE, BRIDGE_WRECKED]
+ descriptions:
+ - 'A rickety wooden bridge extends across the chasm, vanishing into the\nmist. A notice posted on the bridge reads, "Stop! Pay troll!"'
+ - 'The wreckage of a bridge (and a dead bear) can be seen at the bottom\nof the chasm.'
+ changes:
+ - ''
+ - |-
+ Just as you reach the other side, the bridge buckles beneath the
+ weight of the bear, which was still following you around. You
+ scrabble desperately for support, but as the bridge collapses you
+ stumble back and fall into the chasm.
+- TROLL:
+ words: ['troll']
+ inventory: '*troll'
+ locations: [LOC_SWCHASM, LOC_NECHASM]
+ immovable: true
+ states: [TROLL_UNPAID, TROLL_PAIDONCE, TROLL_GONE]
+ descriptions:
+ - 'A burly troll stands by the bridge and insists you throw him a\ntreasure before you may cross.'
+ - 'The troll steps out from beneath the bridge and blocks your way.'
+ - '' # chased away
+ changes:
+ - ''
+ - ''
+ - |-
+ The bear lumbers toward the troll, who lets out a startled shriek and
+ scurries away. The bear soon gives up the pursuit and wanders back.
+ sounds:
+ - 'The troll sounds quite adamant in his demand for a treasure.'
+ - 'The troll sounds quite adamant in his demand for a treasure.'
+ - ''
+- TROLL2:
+ words: ['troll']
+ inventory: '*phony troll'
+ locations: [LOC_NOWHERE, LOC_NOWHERE]
+ immovable: true
+ descriptions:
+ - 'The troll is nowhere to be seen.'
+- BEAR:
+ words: ['bear']
+ inventory: !!null
+ locations: LOC_BARRENROOM
+ immovable: true
+ states: [UNTAMED_BEAR, SITTING_BEAR, CONTENTED_BEAR, BEAR_DEAD]
+ descriptions:
+ - 'There is a ferocious cave bear eyeing you from the far end of the room!'
+ - 'There is a gentle cave bear sitting placidly in one corner.'
+ - 'There is a contented-looking bear wandering about nearby.'
+ - ''
+ changes:
+ - ''
+ - 'The bear eagerly wolfs down your food, after which he seems to calm\ndown considerably and even becomes rather friendly.'
+ - ''
+ - ''
+- MESSAG:
+ words: ['messa']
+ inventory: '*message in second maze'
+ locations: LOC_NOWHERE
+ immovable: true
+ descriptions:
+ - |-
+ There is a message scrawled in the dust in a flowery script, reading:
+ "This is not the maze where the pirate leaves his treasure chest."
+ texts:
+ - '"This is not the maze where the pirate leaves his treasure chest."'
+- VOLCANO:
+ words: ['volca', 'geyse']
+ inventory: '*volcano and/or geyser'
+ locations: LOC_BREATHTAKING
+ immovable: true
+ descriptions: !!null
+- VEND:
+ words: ['machi', 'vendi']
+ inventory: '*vending machine'
+ locations: LOC_DEADEND13
+ immovable: true
+ states: [VEND_BLOCKS, VEND_UNBLOCKS]
+ descriptions:
+ - |-
+ There is a massive and somewhat battered vending machine here. The
+ instructions on it read: "Drop coins here to receive fresh batteries."
+ - |-
+ There is a massive vending machine here, swung back to reveal a
+ southward passage.
+ changes:
+ - 'The vending machine swings back to block the passage.'
+ - 'As you strike the vending machine, it pivots backward along with a\nsection of wall, revealing a dark passage leading south.'
+ texts:
+ - '"Drop coins here to receive fresh batteries."'
+ - '"Drop coins here to receive fresh batteries."'
+- BATTERY:
+ words: ['batte']
+ inventory: 'Batteries'
+ locations: LOC_NOWHERE
+ states: [FRESH_BATTERIES, DEAD_BATTERIES]
+ descriptions:
+ - 'There are fresh batteries here.'
+ - 'Some worn-out batteries have been discarded nearby.'
+- OBJ_40:
+ words: ['carpe', 'moss']
+ inventory: '*carpet and/or moss and/or curtains'
+ locations: LOC_SOFTROOM
+ immovable: true
+ descriptions: !!null
+- OGRE:
+ words: ['ogre']
+ inventory: '*ogre'
+ locations: LOC_LARGE
+ immovable: true
+ descriptions:
+ - 'A formidable ogre bars the northern exit.'
+ sounds:
+ - 'The ogre is apparently the strong, silent type.'
+- URN:
+ words: ['urn']
+ inventory: '*urn'
+ locations: LOC_CLIFF
+ immovable: true
+ states: [URN_EMPTY, URN_DARK, URN_LIT]
+ descriptions:
+ - 'A small urn is embedded in the rock.'
+ - 'A small urn full of oil is embedded in the rock.'
+ - 'A small oil flame extrudes from an urn embedded in the rock.'
+ changes:
+ - 'The urn is empty and will not light.'
+ - 'The urn is now dark.'
+ - 'The urn is now lit.'
+- CAVITY:
+ words: ['cavit']
+ inventory: '*cavity'
+ locations: LOC_NOWHERE
+ immovable: true
+ states: [CAVITY_FULL, CAVITY_EMPTY]
+ descriptions:
+ - '' # something in it
+ - 'There is a small urn-shaped cavity in the rock.'
+- BLOOD:
+ words: ['blood']
+ inventory: '*blood'
+ locations: LOC_NOWHERE
+ immovable: true
+ descriptions:
+ - '' # described with dragon
+- RESER:
+ words: ['reser']
+ inventory: '*reservoir'
+ locations: [LOC_RESERVOIR, LOC_RESNORTH]
+ immovable: true
+ states: [WATERS_UNPARTED, WATERS_PARTED]
+ descriptions:
+ - ''
+ - 'The waters have parted to form a narrow path across the reservoir.'
+ changes:
+ - 'The waters crash together again.'
+ - 'The waters have parted to form a narrow path across the reservoir.'
+- RABBITFOOT:
+ words: ['appen', 'lepor']
+ inventory: 'Leporine appendage'
+ locations: LOC_FOREST22
+ descriptions:
+ - 'Your keen eye spots a severed leporine appendage lying on the ground.'
+- OBJ_47:
+ words: ['mud']
+ inventory: '*mud'
+ locations: LOC_DEBRIS
+ immovable: true
+ descriptions:
+ - ''
+ texts:
+ - '"MAGIC WORD XYZZY"'
+- OBJ_48:
+ words: ['note']
+ inventory: '*note'
+ locations: LOC_NUGGET
+ immovable: true
+ descriptions:
+ - ''
+ texts:
+ - '"You won''t get it up the steps"'
+- SIGN:
+ words: ['sign']
+ inventory: '*sign'
+ locations: LOC_ANTEROOM
+ immovable: true
+ states: [INGAME_SIGN, ENDGAME_SIGN]
+ descriptions:
+ - ''
+ - ''
+ texts:
+ - |-
+ Cave under construction beyond this point.
+ Proceed at own risk.
+ [Witt Construction Company]
+ - '"Treasure Vault. Keys in main office."'
+- NUGGET:
+ words: ['gold', 'nugge']
+ inventory: 'Large gold nugget'
+ locations: LOC_NUGGET
+ treasure: true
+ descriptions:
+ - 'There is a large sparkling nugget of gold here!'
+- OBJ_51:
+ words: ['diamo']
+ inventory: 'Several diamonds'
+ locations: LOC_WESTBANK
+ treasure: true
+ descriptions:
+ - 'There are diamonds here!'
+- OBJ_52:
+ words: ['silve', 'bars']
+ inventory: 'Bars of silver'
+ locations: LOC_FLOORHOLE
+ treasure: true
+ descriptions:
+ - 'There are bars of silver here!'
+- OBJ_53:
+ words: ['jewel']
+ inventory: 'Precious jewelry'
+ locations: LOC_SOUTHSIDE
+ treasure: true
+ descriptions:
+ - 'There is precious jewelry here!'
+- COINS:
+ words: ['coins']
+ inventory: 'Rare coins'
+ locations: LOC_WESTSIDE
+ treasure: true
+ descriptions:
+ - 'There are many coins here!'
+- CHEST:
+ words: ['chest', 'box', 'treas']
+ inventory: 'Treasure chest'
+ locations: LOC_NOWHERE
+ treasure: true
+ descriptions:
+ - 'The pirate''s treasure chest is here!'
+- EGGS:
+ words: ['eggs', 'egg', 'nest']
+ inventory: 'Golden eggs'
+ locations: LOC_GIANTROOM
+ treasure: true
+ states: [EGGS_HERE, EGGS_VANISHED, EGGS_DONE]
+ descriptions:
+ - 'There is a large nest here, full of golden eggs!'
+ - 'The nest of golden eggs has vanished!'
+ - 'Done!'
+- TRIDENT:
+ words: ['tride']
+ inventory: 'Jeweled trident'
+ locations: LOC_WATERFALL
+ treasure: true
+ descriptions:
+ - 'There is a jewel-encrusted trident here!'
+- VASE:
+ words: ['vase', 'ming', 'shard', 'potte']
+ inventory: 'Ming vase'
+ locations: LOC_ORIENTAL
+ treasure: true
+ states: [VASE_WHOLE, VASE_DROPPED, VASE_BROKEN]
+ descriptions:
+ - 'There is a delicate, precious, ming vase here!'
+ - 'The floor is littered with worthless shards of pottery.'
+ - 'The floor is littered with worthless shards of pottery.'
+ changes:
+ - 'The vase is now resting, delicately, on a velvet pillow.'
+ - 'The ming vase drops with a delicate crash.'
+ - 'You have taken the vase and hurled it delicately to the ground.'
+- EMERALD:
+ words: ['emera']
+ inventory: 'Egg-sized emerald'
+ locations: LOC_PLOVER
+ treasure: true
+ descriptions:
+ - 'There is an emerald here the size of a plover''s egg!'
+ - 'There is an emerald resting in a small cavity in the rock!'
+- PYRAMID:
+ words: ['plati', 'pyram']
+ inventory: 'Platinum pyramid'
+ locations: LOC_DARKROOM
+ treasure: true
+ descriptions:
+ - 'There is a platinum pyramid here, 8 inches on a side!'
+- PEARL:
+ words: ['pearl']
+ inventory: 'Glistening pearl'
+ locations: LOC_NOWHERE
+ treasure: true
+ descriptions:
+ - 'Off to one side lies a glistening pearl!'
+- RUG:
+ words: ['rug', 'persi']
+ inventory: 'Persian rug'
+ locations: [LOC_SECRET4, LOC_SECRET6]
+ immovable: true
+ treasure: true
+ states: [RUG_FLOOR, RUG_DRAGON, RUG_HOVER]
+ descriptions:
+ - 'There is a Persian rug spread out on the floor!'
+ - 'The dragon is sprawled out on a Persian rug!!'
+ - 'There is a Persian rug here, hovering in mid-air!'
+- OBJ_63:
+ words: ['spice']
+ inventory: 'Rare spices'
+ locations: LOC_BOULDERS2
+ treasure: true
+ descriptions:
+ - 'There are rare spices here!'
+- CHAIN:
+ words: ['chain']
+ inventory: 'Golden chain'
+ locations: LOC_BARRENROOM
+ immovable: true
+ treasure: true
+ states: [CHAIN_HEAP, CHAINING_BEAR, CHAIN_FIXED]
+ descriptions:
+ - 'There is a golden chain lying in a heap on the floor!'
+ - 'The bear is locked to the wall with a golden chain!'
+ - 'There is a golden chain locked to the wall!'
+- RUBY:
+ words: ['ruby']
+ inventory: 'Giant ruby'
+ locations: LOC_STOREROOM
+ treasure: true
+ descriptions:
+ - 'There is an enormous ruby here!'
+ - 'There is a ruby resting in a small cavity in the rock!'
+- JADE:
+ words: ['jade', 'neckl']
+ inventory: 'Jade necklace'
+ locations: LOC_NOWHERE
+ treasure: true
+ descriptions:
+ - 'A precious jade necklace has been dropped here!'
+- AMBER:
+ words: ['amber', 'gemst']
+ inventory: 'Amber gemstone'
+ locations: LOC_NOWHERE
+ treasure: true
+ states: [AMBER_IN_URN, AMBER_IN_ROCK]
+ descriptions:
+ - 'There is a rare amber gemstone here!'
+ - 'There is an amber gemstone resting in a small cavity in the rock!'
+- SAPPH:
+ words: ['sapph']
+ inventory: 'Star sapphire'
+ locations: LOC_LEDGE
+ treasure: true
+ descriptions:
+ - 'A brilliant blue star sapphire is here!'
+ - 'There is a star sapphire resting in a small cavity in the rock!'
+- OBJ_69:
+ words: ['ebony', 'statu']
+ inventory: 'Ebony statuette'
+ locations: LOC_REACHDEAD
+ treasure: true
+ descriptions:
+ - 'There is a richly-carved ebony statuette here!'
+
+obituaries:
+ - query: |-
+ Oh dear, you seem to have gotten yourself killed. I might be able to
+ help you out, but I've never really done this before. Do you want me
+ to try to reincarnate you?
+ # batchspell: add wr
+ yes_response: |-
+ All right. But don't blame me if something goes wr......
+ --- POOF!! ---
+ You are engulfed in a cloud of orange smoke. Coughing and gasping,
+ you emerge from the smoke and find....
+ # batchspell: remove wr
+ - query: |-
+ You clumsy oaf, you've done it again! I don't know how long I can
+ keep this up. Do you want me to try reincarnating you again?
+ yes_response: |-
+ Okay, now where did I put my orange smoke?.... >POOF!<
+ Everything disappears in a dense cloud of orange smoke.
+ - query: |-
+ Now you've really done it! I'm out of orange smoke! You don't expect
+ me to do a decent reincarnation without any orange smoke, do you?
+ yes_response: 'Okay, if you''re so smart, do it yourself! I''m leaving!'
+
+actions: !!omap
+- ACT_NULL:
+ message: !!null
+ words: !!null
+- CARRY:
+ message: *already_carrying
+ words: ['g', 'carry', 'take', 'keep', 'catch',
+ 'steal', 'captu', 'get', 'tote', 'snarf']
+ oldstyle: false
+- DROP:
+ message: *arent_carrying
+ words: ['drop', 'relea', 'free', 'disca', 'dump']
+- SAY:
+ message: NO_MESSAGE
+ words: ['say', 'chant', 'sing', 'utter', 'mumbl']
+- UNLOCK:
+ message: *not_lockable
+ words: ['unloc', 'open']
+- NOTHING:
+ message: NO_MESSAGE
+ words: ['z', 'nothi']
+ oldstyle: false
+- LOCK:
+ message: *not_lockable
+ words: ['lock', 'close']
+- LIGHT:
+ message: *dont_understand
+ words: ['light', 'on']
+- EXTINGUISH:
+ message: *dont_understand
+ words: ['extin', 'off']
+- WAVE:
+ message: *nothing_happens
+ words: ['wave', 'shake', 'swing']
+- TAME:
+ message: *am_game
+ words: ['calm', 'placa', 'tame']
+- GO:
+ message: *where_query
+ words: ['walk', 'run', 'trave', 'go', 'proce',
+ 'conti', 'explo', 'follo', 'turn']
+- ATTACK:
+ message: *ridiculous_attempt
+ words: ['attac', 'kill', 'fight', 'hit', 'strik', 'slay']
+- POUR:
+ message: *arent_carrying
+ words: ['pour']
+- EAT:
+ message: *ridiculous_attempt
+ words: ['eat', 'devou']
+- DRINK:
+ message: |-
+ You have taken a drink from the stream. The water tastes strongly of
+ minerals, but is not unpleasant. It is extremely cold.
+ words: ['drink']
+- RUB:
+ message: |-
+ Rubbing the electric lamp is not particularly rewarding. Anyway,
+ nothing exciting happens.
+ words: ['rub']
+- THROW:
+ message: *arent_carrying
+ words: ['throw', 'toss']
+- QUIT:
+ message: *huh_man
+ words: ['quit']
+- FIND:
+ message: *nearby
+ words: ['find', 'where']
+- INVENTORY:
+ message: *nearby
+ words: ['i', 'inven']
+ oldstyle: false
+- FEED:
+ message: 'There is nothing here to eat.'
+ words: ['feed']
+- FILL:
+ message: 'You can''t fill that.'
+ words: ['fill']
+- BLAST:
+ message: *requires_dynamite
+ words: ['blast', 'deton', 'ignit', 'blowu']
+- SCORE:
+ message: *huh_man
+ words: ['score']
+- FEE:
+ message: *not_knowhow
+ words: ['fee']
+- FIE:
+ message: *not_knowhow
+ words: ['fie']
+- FOE:
+ message: *not_knowhow
+ words: ['foe']
+- FOO:
+ message: *not_knowhow
+ words: ['foo']
+- FUM:
+ message: *not_knowhow
+ words: ['fum']
+- BRIEF:
+ message: 'On what?'
+ words: ['brief']
+- READ:
+ message: *dont_understand
+ words: ['read', 'perus']
+- BREAK:
+ message: *beyond_power
+ words: ['break', 'shatt', 'smash']
+- WAKE:
+ message: *ridiculous_attempt
+ words: ['wake', 'distu']
+- SAVE:
+ message: *huh_man
+ words: ['suspe', 'pause', 'save']
+- RESUME:
+ message: *huh_man
+ words: ['resum', 'resta']
+- FLY:
+ message: *am_game
+ words: ['fly']
+- LISTEN:
+ message: *dont_understand
+ words: ['liste']
+- PART:
+ message: *nothing_happens
+ words: ['z''zzz']
+- SEED:
+ message: 'Seed set to %d'
+ words: ['seed']
+- WASTE:
+ message: 'Game limit is now %d'
+ words: ['waste']
+- ACT_UNKNOWN:
+ message: *huh_man
+ words: !!null
+- THANKYOU:
+ message: 'You''re quite welcome.'
+ words: ['thank']
+ noaction: true
+- INVALIDMAGIC:
+ message: 'Good try, but that is an old worn-out magic word.'
+ words: ['sesam', 'opens', 'abra', 'abrac', 'shaza', 'hocus', 'pocus']
+ noaction: true
+- HELP:
+ message: |-
+ I know of places, actions, and things. Most of my vocabulary
+ describes places and is used to move you there. To move, try words
+ like forest, building, downstream, enter, east, west, north, south,
+ up, or down. I know about a few special objects, like a black rod
+ hidden in the cave. These objects can be manipulated using some of
+ the action words that I know. Usually you will need to give both the
+ object and action words (in either order), but sometimes I can infer
+ the object from the verb alone. Some objects also imply verbs; in
+ particular, "inventory" implies "take inventory", which causes me to
+ give you a list of what you're carrying. Some objects have unexpected
+ effects; the effects are not always desirable! Usually people having
+ trouble moving just need to try a few more words. Usually people
+ trying unsuccessfully to manipulate an object are attempting something
+ beyond their (or my!) capabilities and should try a completely
+ different tack. One point often confusing to beginners is that, when
+ there are several ways to go in a certain direction (e.g., if there
+ are several holes in a wall), choosing that direction in effect
+ chooses one of the ways at random; often, though, by specifying the
+ place you want to reach you can guarantee choosing the right path.
+ Also, to speed the game you can sometimes move long distances with a
+ single word. For example, "building" usually gets you to the building
+ from anywhere above ground except when lost in the forest. Also, note
+ that cave passages and forest paths turn a lot, so leaving one place
+ heading north doesn't guarantee entering the next from the south.
+ However (another important point), except when you've used a "long
+ distance" word such as "building", there is always a way to go back
+ where you just came from unless I warn you to the contrary, even
+ though the direction that takes you back might not be the reverse of
+ what got you here. Good luck, and have fun!
+ words: ['help', '?']
+ noaction: true
+- NO:
+ message: *ok_man
+ words: ['no']
+ noaction: true
+- TREE:
+ message: |-
+ The trees of the forest are large hardwood oak and maple, with an
+ occasional grove of pine or spruce. There is quite a bit of under-
+ growth, largely birch and ash saplings plus nondescript bushes of
+ various sorts. This time of year visibility is quite restricted by
+ all the leaves, but travel is quite easy if you detour around the
+ spruce and berry bushes.
+ words: ['tree', 'trees']
+ noaction: true
+- DIG:
+ message: |-
+ Digging without a shovel is quite impractical. Even with a shovel
+ progress is unlikely.
+ words: ['dig', 'excav']
+ noaction: true
+- LOST:
+ message: 'I''m as confused as you are.'
+ words: ['lost']
+ noaction: true
+- MIST:
+ message: |-
+ Mist is a white vapor, usually water, seen from time to time in
+ caverns. It can be found anywhere but is frequently a sign of a deep
+ pit leading down to water.
+ words: ['mist']
+ noaction: true
+- FBOMB:
+ message: 'Watch it!'
+ words: ['fuck']
+ noaction: true
+- STOP:
+ message: 'I don''t know the word "stop". Use "quit" if you want to give up.'
+ words: ['stop']
+ noaction: true
+- INFO:
+ message: |-
+ For a summary of the most recent changes to the game, say "news".
+ If you want to end your adventure early, say "quit". To suspend your
+ adventure such that you can continue later, say "suspend" (or "pause"
+ or "save"). To see how well you're doing, say "score". To get full
+ credit for a treasure, you must have left it safely in the building,
+ though you get partial credit just for locating it. You lose points
+ for getting killed, or for quitting, though the former costs you more.
+ There are also points based on how much (if any) of the cave you've
+ managed to explore; in particular, there is a large bonus just for
+ getting in (to distinguish the beginners from the rest of the pack),
+ and there are other ways to determine whether you've been through some
+ of the more harrowing sections. If you think you've found all the
+ treasures, just keep exploring for a while. If nothing interesting
+ happens, you haven't found them all yet. If something interesting
+ *DOES* happen (incidentally, there *ARE* ways to hasten things along),
+ it means you're getting a bonus and have an opportunity to garner many
+ more points in the Master's section. I may occasionally offer hints
+ if you seem to be having trouble. If I do, I'll warn you in advance
+ how much it will affect your score to accept the hints. Finally, to
+ save time, you may specify "brief", which tells me never to repeat the
+ full description of a place unless you explicitly ask me to.
+ words: ['info', 'infor']
+ noaction: true
+- SWIM:
+ message: *not_knowhow
+ words: ['swim']
+ noaction: true
+- WIZARD:
+ message: 'Wizards are not to be disturbed by such as you.'
+ words: ['wizar']
+ noaction: true
+- "YES":
+ message: 'Guess again.'
+ words: ['yes']
+ noaction: true
+- NEWS:
+ message: |-
+ Open Adventure is an author-approved open-source release of
+ Version 2.5 with, as yet, no gameplay changes.
+ Version 2.5 was essentially the same as Version II; the cave and the
+ hazards therein are unchanged, and top score is still 430 points.
+ There are a few more hints, especially for some of the more obscure
+ puzzles. There are a few minor bugfixes and cosmetic changes. You
+ can now save a game and resume it at once (formerly you had to wait a
+ while first), but it now costs you a few points each time you save the
+ game. Saved games are now stored in much smaller files than before.
+ words: ['news']
+ noaction: true
+- ACT_VERSION:
+ message: |-
+ There is a puff of orange smoke; within it, fiery runes spell out:
+
+ Open Adventure %V - http://www.catb.org/esr/open-adventure/
+ words: ['versi']
+ noaction: true
+
+# end
diff --git a/cheat.c b/cheat.c
new file mode 100644
index 0000000..4e94025
--- /dev/null
+++ b/cheat.c
@@ -0,0 +1,105 @@
+/*
+ * 'cheat' is a tool for generating save game files to test states that ought
+ * not happen. It leverages chunks of advent, mostly initialize() and
+ * savefile(), so we know we're always outputting save files that advent
+ * can import.
+ *
+ * SPDX-FileCopyrightText: (C) 1977, 2005 by Will Crowther and Don Woods
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+#include "advent.h"
+#include
+#include
+#include
+#include
+#include
+
+int main(int argc, char *argv[]) {
+ int ch;
+ char *savefilename = NULL;
+ FILE *fp = NULL;
+
+ // Initialize game variables
+ initialise();
+
+ /* we're generating a saved game, so saved once by default,
+ * unless overridden with command-line options below.
+ */
+ game.saved = 1;
+
+ /* Options. */
+ const char *opts = "d:l:s:t:v:o:";
+ const char *usage =
+ "Usage: %s [-d numdie] [-s numsaves] [-v version] -o savefilename "
+ "\n"
+ " -d number of deaths. Signed integer.\n"
+ " -l lifetime of lamp in turns. Signed integer.\n"
+ " -s number of saves. Signed integer.\n"
+ " -t number of turns. Signed integer.\n"
+ " -v version number of save format.\n"
+ " -o required. File name of save game to write.\n";
+
+ while ((ch = getopt(argc, argv, opts)) != EOF) {
+ switch (ch) {
+ case 'd':
+ game.numdie = (turn_t)atoi(optarg);
+ printf("cheat: game.numdie = %d\n", game.numdie);
+ break;
+ case 'l':
+ game.limit = (turn_t)atoi(optarg);
+ printf("cheat: game.limit = %d\n", game.limit);
+ break;
+ case 's':
+ game.saved = (int)atoi(optarg);
+ printf("cheat: game.saved = %d\n", game.saved);
+ break;
+ case 't':
+ game.turns = (turn_t)atoi(optarg);
+ printf("cheat: game.turns = %d\n", game.turns);
+ break;
+ case 'v':
+ save.version = atoi(optarg);
+ printf("cheat: version = %d\n", save.version);
+ break;
+ case 'o':
+ savefilename = optarg;
+ break;
+ default:
+ fprintf(stderr, usage, argv[0]);
+ exit(EXIT_FAILURE);
+ break;
+ }
+ }
+
+ // Save filename required; the point of cheat is to generate save file
+ if (savefilename == NULL) {
+ fprintf(stderr, usage, argv[0]);
+ fprintf(stderr, "ERROR: filename required\n");
+ exit(EXIT_FAILURE);
+ }
+
+ fp = fopen(savefilename, WRITE_MODE);
+ if (fp == NULL) {
+ fprintf(stderr, "Can't open file %s. Exiting.\n", savefilename);
+ exit(EXIT_FAILURE);
+ }
+
+ savefile(fp);
+
+ fclose(fp);
+
+ printf("cheat: %s created.\n", savefilename);
+
+ return EXIT_SUCCESS;
+}
+
+// LCOV_EXCL_START
+/*
+ * Ugh...unused, but required for linkage.
+ * See the actually useful version of this in main.c
+ */
+
+char *myreadline(const char *prompt) { return readline(prompt); }
+// LCOV_EXCL_STOP
+
+/* end */
diff --git a/control b/control
index 89c4d70..e47484d 100644
--- a/control
+++ b/control
@@ -1,22 +1,29 @@
# This is not a real Debian control file
# It's project metadata for the shipper tool
-Package: advent
+Package: open-adventure
Description: Colossal Cave Adventure, the 1995 430-point version.
- This is the last descendent of the original 1976 Colossal Cave Adventure
- worked on by the original authors - Crowther & Woods. It has sometimes
- been known as Adventure 2.5. The original PDP-10 name 'advent' is used
- to avoid collision with the BSD Games version.
+ This is the last descendant of the original 1976 Colossal Cave Adventure
+ worked on by the original authors - Crowther & Woods; it is shipped with
+ their permission and encouragement. It has sometimes been known as
+ Adventure 2.5. The original PDP-10 name 'advent' is used for the
+ built program to avoid collision with the BSD Games version.
-#XBS-Destinations: freshcode
-
-Homepage: http://www.catb.org/~esr/advent
+Homepage: http://www.catb.org/~esr/open-adventure
XBS-HTML-Target: index.html
XBS-Repository-URL: https://gitlab.com/esr/open-adventure
-#XBS-Project-Tags: Games/Entertainment
+XBS-Debian-Packages: open-adventure
+
+XBS-IRC-Channel: irc://chat.freenode.net/#open-adventure
+
+XBS-Project-Tags: Games/Entertainment
XBS-VC-Tag-Template: %(version)s
+
+XBS-Logo: lamp.png
+
+XBS-Validate: make pylint cppcheck check
diff --git a/funcs.h b/funcs.h
deleted file mode 100644
index e86fb2c..0000000
--- a/funcs.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#include
-
-/* Statement functions
- *
- * AT(OBJ) = true if on either side of two-placed object
- * CNDBIT(L,N) = true if COND(L) has bit n set (bit 0 is units bit)
- * DARK(DUMMY) = true if location "LOC" is dark
- * FORCED(LOC) = true if LOC moves without asking for input (COND=2)
- * FOREST(LOC) = true if LOC is part of the forest
- * GSTONE(OBJ) = true if OBJ is a gemstone
- * HERE(OBJ) = true if the OBJ is at "LOC" (or is being carried)
- * LIQ(DUMMY) = object number of liquid in bottle
- * LIQLOC(LOC) = object number of liquid (if any) at LOC
- * PCT(N) = true N% of the time (N integer from 0 to 100)
- * TOTING(OBJ) = true if the OBJ is being carried */
-
-#define TOTING(OBJ) (PLACE[OBJ] == -1)
-#define AT(OBJ) (PLACE[OBJ] == LOC || FIXED[OBJ] == LOC)
-#define HERE(OBJ) (AT(OBJ) || TOTING(OBJ))
-#define LIQ2(PBOTL) ((1-(PBOTL))*WATER+((PBOTL)/2)*(WATER+OIL))
-#define LIQ(DUMMY) (LIQ2(PROP[BOTTLE]<0 ? -1-PROP[BOTTLE] : PROP[BOTTLE]))
-#define LIQLOC(LOC) (LIQ2((MOD(COND[LOC]/2*2,8)-5)*MOD(COND[LOC]/4,2)+1))
-#define CNDBIT(L,N) (TSTBIT(COND[L],N))
-#define FORCED(LOC) (COND[LOC] == 2)
-#define DARK(DUMMY) ((!CNDBIT(LOC,0)) && (PROP[LAMP] == 0 || !HERE(LAMP)))
-#define PCT(N) (RAN(100) < (N))
-#define GSTONE(OBJ) ((OBJ) == EMRALD || (OBJ) == RUBY || (OBJ) == AMBER || (OBJ) == SAPPH)
-#define FOREST(LOC) ((LOC) >= 145 && (LOC) <= 166)
-#define VOCWRD(LETTRS,SECT) (VOCAB(MAKEWD(LETTRS),SECT))
-
-/* The following two functions were added to fix a bug (CLOCK1 decremented
- * while in forest). They should probably be replaced by using another
- * "cond" bit. For now, however, a quick fix... OUTSID(LOC) is true if
- * LOC is outside, INDEEP(LOC) is true if LOC is "deep" in the cave (hall
- * of mists or deeper). Note special kludges for "FOOF" locs. */
-
-#define OUTSID(LOC) ((LOC) <= 8 || FOREST(LOC) || (LOC) == PLAC[SAPPH] || (LOC) == 180 || (LOC) == 182)
-#define INDEEP(LOC) ((LOC) >= 15 && !OUTSID(LOC) && (LOC) != 179)
-
-extern int carry(void), discard(bool), attack(void), throw(void), feed(void), fill(void);
-void score(long);
-
-
-
-
diff --git a/hints.adoc b/hints.adoc
new file mode 100644
index 0000000..f7e25e1
--- /dev/null
+++ b/hints.adoc
@@ -0,0 +1,24 @@
+= Non-spoiler hints =
+// SPDX-FileCopyrightText: (C) Eric S. Raymond
+// SPDX-License-Identifier: CC-BY-4.0
+
+Say the words you see. They can have interesting effects.
+
+Reading is fundamental.
+
+Yes, the fissure in the Hall of Mists can be bridged. By magic.
+
+"Free bird": It's more than an epic guitar solo. Do it twice!
+
+There is a legend that if you drink the blood of a dragon, you will
+be able to understand the speech of birds.
+
+That vending machine? It would be better off dead.
+
+Ogres laugh at humans, but for some reason dwarves frighten them badly.
+
+When rust is a problem, oil can be helpful.
+
+A lucky rabbit's foot might help you keep your footing.
+
+The troll might go away when you are no longer unbearable.
diff --git a/history.adoc b/history.adoc
new file mode 100644
index 0000000..8ca5da7
--- /dev/null
+++ b/history.adoc
@@ -0,0 +1,174 @@
+= A brief history of Colossal Cave Adventure =
+by Eric S. Raymond
+// SPDX-FileCopyrightText: (C) Eric S. Raymond
+// SPDX-License-Identifier: CC-BY-4.0
+
+Adventure is the fons et origo of all later dungeon-crawling computer
+games, the granddaddy of interactive fiction, and one of the hallowed
+artifacts of hacker folklore.
+
+== Origin and history ==
+
+The very first version was released by Crowther in 1976, in FORTRAN on
+the PDP-10 at Bolt, Beranek, and Newman. (Crowther was at the time
+writing what we could now call firmware for the earliest ARPANET
+routers.) It was a maze game based on the Colossal Cave complex in
+Kentucky, including fewer of the D&D-like elements now associated with
+the game.
+
+Adventure as we now know it, the ancestor of all later versions, was
+released on a PDP-10 at the Stanford AI Lab by Don Woods on June 3rd,
+1977 (some sources erroneously say 1976). That version is sometimes
+known as 350-point Adventure.
+
+Between 1977 and 1995 Crowther and Woods themselves continued to work
+intermittently on the game. This main line of development culminated
+in the 1995 release of Adventure 2.5, also known as 430-point Adventure
+
+The earliest port to C was by Jim Gillogly under an early Unix running
+at the Rand Corporation in 1977; this version was later, and still is,
+included in the BSD Games collection. I have it from Don Woods directly
+that "[Jim Gillogly] was one of the first to request and receive a copy
+of the source" but that Woods did not actually know of the BSD port
+until I briefed him on it in 2017. (This contradicts some implications
+in third-party histories.)
+
+Many other people ported and extended the game in various directions.
+A notable version was the first game shipped for the IBM Personal
+Computer in 1981; neither Crowther nor Woods nor Gillogly were paid
+royalties.
+
+The history of these non-mainline versions is complex and
+murky. Functional differences were generally marked by changes in the
+maximum score as people added puzzles and rooms; however, multiple
+ports of some versions existed - some in FORTRAN, some in C,
+some in other languages - so the maximum point score is not
+completely disambiguating.
+
+Same articles at <> are a narrative of the history of the game.
+There is an in-depth study of its origins at <>. Many versions
+are collected at The Interactive Fiction Archive <>; note however
+that IFA's historical claims are thinly sourced and its dates for the
+earliest releases don't match either comments in the code or the
+careful reconstruction in <>.
+
+== Open Adventure ==
+
+An attempt to untangle and document a lot of the non-mainline history
+has been made by Arthur O'Dwyer at <>. For our purposes, it
+will suffice to explain the chain of provenance that led from the
+original Adventure to the Open Adventure distributed with this
+document.
+
+The original 350-point ADVENT on the PDP-10 had been one of my
+formative experiences as a fledgling hacker in 1976-77. Forty years
+later, in February 2017, while doing some casual research into the
+history of text adventure games, I looked through some source code at
+<> and was delighted to learn of Adventure 2.5, a version of the
+Crowther-Woods mainline later than I had ever played.
+
+Adventure 2.5 had been shipped long enough ago that today's conventions of
+open-source licensing were not yet fully established. The Makefile
+contained a rights reservation by Don Woods and that was it.
+
+I wrote to Don asking permission to release 2.5 under 2-clause BSD;
+he replied on 15 May 2017 giving both permission and encouragement.
+
+Here is what Don said about differences between the original Adventure
+and 2.5:
+
+............................................................................
+> The bulk of the points come from five new 16-point treasures. (I say "bulk"
+> because I think at least one of the scores included some padding and I may
+> have tweaked those.) Each of the new treasures requires solving a puzzle
+> that's definitely at the tricky end of the scale for Adventure. Much of the
+> new stuff involves trying new directions and/or finding new uses for stuff
+> that already existed; e.g. the forest outside is no longer a small number of
+> locations with partially random movement, but is a full-fledged maze, one
+> that I hope has a character different from either of the previous two.
+>
+> As the text itself says, V2.5 is essentially the same as V2, with a few more
+> hints. (I think I came up with a better one for the endgame, too.) I don't
+> seem to have a copy of the similar text from V2, so I don't know whether/how
+> it described itself to new and seasoned players.
+>
+> The other big change, as I mentioned above, was I added a way of docking
+> points at a certain number of turns. This was my second attempt to do what
+> the batteries had been for: require being efficient to achieve top score.
+> Alas, the batteries led to players deliberately turning the lamp off/on
+> whenever they weren't moving or were in a lit area, making the game take
+> even longer! I set the requirement at what felt like a hard but fair
+> number of turns, then applied several sneaky tricks to shave off another
+> twenty.
+>
+> I hacked up a wrapper around the game (still in Fortran, most likely, but
+> I forget) that would try each initializing the RNG using each second of a
+> given day, while feeding in a script that either worked or aborted early
+> if anything went wrong (such as a dwarf blocking my path). As I recall,
+> it took less than a day's worth of RNG seeds to find one that worked.
+>
+> I verified my script could work given a favorable RNG, and stuck
+> that number in the message.
+>
+> I like how that final puzzle, unlike the game itself, does not readily
+> succumb even given access to the game source. You really need to fit
+> together not only the goals and the map and use of inventory space, but
+> also details like just what _can_ you do in the dark...?
+............................................................................
+
+Great care has been taken to preserve 2.5's exact gameplay as intended
+by Don. We have added a "version" command.
+
+However, under the hood Open Adventure is rather different from 2.5.
+Where 2.5 was written in FORTRAN mechanically translated into
+extremely ugly C, Open Adventure has been translated into much more
+modern and idiomatic C. The extremely cryptic and opaque format of
+the original database of rooms, objects, and strings has been moved to
+YAML; this makes the brilliant design of it much easier to comprehend.
+
+== Earlier non-influences ==
+
+There is record of one earlier dungeon-crawling game called "dnd",
+written in 1974-75 on the PLATO system at University of Illinois
+<>. This was in some ways similar to later roguelike games but
+not to Adventure. The designers of later roguelikes frequently cite
+Adventure as an influence, but not dnd; like PLATO itself, dnd seems
+not to have become known outside of its own user community until
+rediscovered by computer historians many years after Adventure
+shipped.
+
+There was also Hunt The Wumpus <>, written by Gregory Yob in
+1972. There is no evidence that Yob's original (circulated
+in BASIC among microcomputer enthusiasts) was known to the ARPANET-
+and minicomputer-centered culture Crowther and Woods were part of
+until well after Adventure was written.
+
+(I was a developer of the Nethack roguelike early in that game's
+history, in the late 1980s; we knew nothing of PLATO dnd. We did know
+of Hunt The Wumpus then from its early Unix port, but it didn't
+influence us either, nor in any apparent way the designers of other
+early roguelikes. After my time the wumpus was included as a monster
+in Nethack, but this was done in a spirit of conscious museumization
+well after historians rediscovered Yob's game.)
+
+Neither of these games used an attempt at a natural-language parser
+even as primitive as Adventure's.
+
+== Sources ==
+
+// asciidoc and asciidoctor both foo up on bare links ending in ')'.
+[bibliography]
+
+- [[[IFA]]] http://rickadams.org/adventure/[Colossal Cave Adventure Page]
+
+- [[[DA]]] http://www.filfre.net/sitemap/[The Digital Antiquarian]
+
+- [[[SN]]]
+ http://www.digitalhumanities.org/dhq/vol/1/2/000009/000009.html[Digital
+ Humanities Quarterly]
+
+- [[[DND]]] https://en.wikipedia.org/wiki/Dnd_(video_game)[dnd (video game)]
+
+- [[[WUMPUS]]] https://en.wikipedia.org/wiki/Hunt_the_Wumpus[Hunt The Wumpus]
+
+- [[[QUUX]]] https://github.com/Quuxplusone/Advent[Quuxplusone/Advent]
diff --git a/history.txt b/history.txt
deleted file mode 100644
index 484d267..0000000
--- a/history.txt
+++ /dev/null
@@ -1,86 +0,0 @@
-= A brief history of Colossal Cave Adventure =
-by Eric S. Raymond
-
-Adventure is the fons et origo of all later dungeon-crawling games,
-the grandaddy of interactive fiction, and one of the hallowed artifacts
-of hacker folklore.
-
-The very first version was released by Crowther in 1976, in FORTRAN on
-the PDP-10 at Bolt, Beranek, and Newman. (Crowther was at the time
-writing what we could now call firmware for the earliest ARPANET
-routers.) It was a maze game based on the Colossal Cave complex in
-Kentucky, lacking the D&D-like elements now associated with the game.
-
-Adventure as we now know it, the ancestor of all later versions, was
-was released on a PDP-10 at the Stanford AI Lab by Don Woods in 1977
-(some sources, apparently erroneously, say 1976). That version is
-sometimes known as 350-point Adventure.
-
-Between 1977 and 1995 Crowther and Woods themselves continued to work
-intermittently on the game. This main line of development culminated
-in the 1995 release of Adventure 2.5, also known as 430-point Adventure
-
-The earliest port to C was by Jim Gillogly under an early Unix running
-at the Rand Corporation in 1977; this version was later, and still is,
-included in the BSD Games collection. It was blessed by Crowther and
-Woods and briefly marketed in 1981 under the name "The Original
-Adventure".
-
-Many other people ported and extended the game in various directions.
-A notable version was the first game shipped for the IBM Personal
-Computer in 1981; this, for which neither Crowther nor Woods nor
-Gillogly were paid royalties, what "The Original" was competing
-against.
-
-The history of these non-mainline versions is complex and
-murky. Functional differences were generally marked by changes in the
-maximum score as people added puzzles and rooms; however, multiple
-ports of some versions existed - some in FORTRAN, some in C,
-some in other languages - so the maximum point score is not
-completely disambiguating.
-
-Same articles at <> are a narrative of the history of the
-game. There is an in-depth study of its origins at <>.
-Many versions are collected at The Interactive Fiction Archive
-<>; note however that its dates for the earliest releases
-don't match other comments in the code or the careful reconstruction
-in <>.
-
-Future versions of this document may attempt to untangle some of the
-non-mainline history. For now, it will suffice to explain the chain of
-provenance that led from the original Adventure to the version
-distributed with this document.
-
-The original 350-point ADVENT on the PDP-10 had been one of my
-formative experiences as a fledgling hacker in 1976-77. Forty years
-later, in February 2017, while doing some casual research into the
-history of text adventure games, I looked through some source code at
-<> and was delighted to learn of Adventure 2.5, a version of the
-Crowther-Woods mainline later than I had ever played.
-
-Adventure 2.5 had been shipped long enough ago that today's conventions of
-open-source licensing were not yet fully established. The Makefile
-contained a rights reservation by Don Woods and that was it.
-
-I wrote to Don asking permission to release 2.5 under 2-clause BSD;
-he replied on 15 May giving both permission and encouragement.
-
-== Nomenclature ==
-
-This project is called "Open Adventure" because it's not at all clear
-to number Adventure past 2.5 without misleading or causing
-collisions. Various of the non-mainline versions have claimed to be
-versions 3, 4, 5, 6, 7 and for all I know higher than that. It seems
-best just to start a new numbering series while acknowledging the
-links back. I have reverted to "Advent" to avoid a name collision
-with the BSD Games version.
-
-== Sources ==
-
-[bibliography]
-
-- [[[IFA]]] http://rickadams.org/adventure/
-
-- [[[[DA]]] http://www.filfre.net/sitemap/
-
-- [[[SN]]] http://www.digitalhumanities.org/dhq/vol/1/2/000009/000009.html
diff --git a/init.c b/init.c
index a74dd86..372e494 100644
--- a/init.c
+++ b/init.c
@@ -1,714 +1,96 @@
-#include
-#include
-#include
-#include
-
-#include "misc.h"
-#include "main.h"
-#include "share.h"
-#include "funcs.h"
-
/*
* Initialisation
+ *
+ * SPDX-FileCopyrightText: (C) 1977, 2005 by Will Crowther and Don Woods
+ * SPDX-License-Identifier: BSD-2-Clause
*/
-/* Current limits:
- * 12500 words of message text (LINES, LINSIZ).
- * 885 travel options (TRAVEL, TRVSIZ).
- * 330 vocabulary words (KTAB, ATAB, TABSIZ).
- * 185 locations (LTEXT, STEXT, KEY, COND, ABB, ATLOC, LOCSND, LOCSIZ).
- * 100 objects (PLAC, PLACE, FIXD, FIXED, LINK (TWICE), PTEXT, PROP,
- * OBJSND, OBJTXT).
- * 35 "action" verbs (ACTSPK, VRBSIZ).
- * 277 random messages (RTEXT, RTXSIZ).
- * 12 different player classifications (CTEXT, CVAL, CLSMAX).
- * 20 hints (HINTLC, HINTED, HINTS, HNTSIZ).
- * 5 "# of turns" threshholds (TTEXT, TRNVAL, TRNSIZ).
- * There are also limits which cannot be exceeded due to the structure of
- * the database. (E.G., The vocabulary uses n/1000 to determine word type,
- * so there can't be more than 1000 words.) These upper limits are:
- * 1000 non-synonymous vocabulary words
- * 300 locations
- * 100 objects */
+#include
+#include
+#include
+#include
+#include
+#include
+#include "advent.h"
-/* Description of the database format
- *
- *
- * The data file contains several sections. Each begins with a line containing
- * a number identifying the section, and ends with a line containing "-1".
- *
- * Section 1: Long form descriptions. Each line contains a location number,
- * a tab, and a line of text. The set of (necessarily adjacent) lines
- * whose numbers are X form the long description of location X.
- * Section 2: Short form descriptions. Same format as long form. Not all
- * places have short descriptions.
- * Section 3: Travel table. Each line contains a location number (X), a second
- * location number (Y), and a list of motion numbers (see section 4).
- * each motion represents a verb which will go to Y if currently at X.
- * Y, in turn, is interpreted as follows. Let M=Y/1000, N=Y mod 1000.
- * If N<=300 it is the location to go to.
- * If 300500 message N-500 from section 6 is printed,
- * and he stays wherever he is.
- * Meanwhile, M specifies the conditions on the motion.
- * If M=0 it's unconditional.
- * If 0$<".
- * Section 6: Arbitrary messages. Same format as sections 1, 2, and 5, except
- * the numbers bear no relation to anything (except for special verbs
- * in section 4).
- * Section 7: Object locations. Each line contains an object number and its
- * initial location (zero (or omitted) if none). If the object is
- * immovable, the location is followed by a "-1". If it has two locations
- * (e.g. the grate) the first location is followed with the second, and
- * the object is assumed to be immovable.
- * Section 8: Action defaults. Each line contains an "action-verb" number and
- * the index (in section 6) of the default message for the verb.
- * Section 9: Location attributes. Each line contains a number (n) and up to
- * 20 location numbers. Bit N (where 0 is the units bit) is set in
- * COND(LOC) for each loc given. The cond bits currently assigned are:
- * 0 Light
- * 1 If bit 2 is on: on for oil, off for water
- * 2 Liquid asset, see bit 1
- * 3 Pirate doesn't go here unless following player
- * 4 Cannot use "back" to move away
- * Bits past 10 indicate areas of interest to "hint" routines:
- * 11 Trying to get into cave
- * 12 Trying to catch bird
- * 13 Trying to deal with snake
- * 14 Lost in maze
- * 15 Pondering dark room
- * 16 At witt's end
- * 17 Cliff with urn
- * 18 Lost in forest
- * 19 Trying to deal with ogre
- * 20 Found all treasures except jade
- * COND(LOC) is set to 2, overriding all other bits, if loc has forced
- * motion.
- * Section 10: Class messages. Each line contains a number (n), a tab, and a
- * message describing a classification of player. The scoring section
- * selects the appropriate message, where each message is considered to
- * apply to players whose scores are higher than the previous N but not
- * higher than this N. Note that these scores probably change with every
- * modification (and particularly expansion) of the program.
- * SECTION 11: Hints. Each line contains a hint number (add 10 to get cond
- * bit; see section 9), the number of turns he must be at the right loc(s)
- * before triggering the hint, the points deducted for taking the hint,
- * the message number (section 6) of the question, and the message number
- * of the hint. These values are stashed in the "hints" array. HNTMAX is
- * set to the max hint number (<= HNTSIZ).
- * Section 12: Unused in this version.
- * Section 13: Sounds and text. Each line contains either 2 or 3 numbers. If
- * 2 (call them N and S), N is a location and message ABS(S) from section
- * 6 is the sound heard there. If S<0, the sound there drowns out all
- * other noises. If 3 numbers (call them N, S, and T), N is an object
- * number and S+PROP(N) is the property message (from section 5) if he
- * listens to the object, and T+PROP(N) is the text if he reads it. If
- * S or T is -1, the object has no sound or text, respectively. Neither
- * S nor T is allowed to be 0.
- * Section 14: Turn threshholds. Each line contains a number (N), a tab, and
- * a message berating the player for taking so many turns. The messages
- * must be in the proper (ascending) order. The message gets printed if
- * the player exceeds N % 100000 turns, at which time N/100000 points
- * get deducted from his score.
- * Section 0: End of database. */
+struct settings_t settings = {.logfp = NULL, .oldstyle = false, .prompt = true};
-/* The various messages (sections 1, 2, 5, 6, etc.) may include certain
- * special character sequences to denote that the program must provide
- * parameters to insert into a message when the message is printed. These
- * sequences are:
- * %S = The letter 'S' or nothing (if a given value is exactly 1)
- * %W = A word (up to 10 characters)
- * %L = A word mapped to lower-case letters
- * %U = A word mapped to upper-case letters
- * %C = A word mapped to lower-case, first letter capitalised
- * %T = Several words of text, ending with a word of -1
- * %1 = A 1-digit number
- * %2 = A 2-digit number
- * ...
- * %9 = A 9-digit number
- * %B = Variable number of blanks
- * %! = The entire message should be suppressed */
+struct game_t game = {
+ /* Last dwarf is special (the pirate). He always starts at his
+ * chest's eventual location inside the maze. This loc is saved
+ * in chloc for ref. The dead end in the other maze has its
+ * loc stored in chloc2. */
+ .chloc = LOC_MAZEEND12, .chloc2 = LOC_DEADEND13, .abbnum = 5,
+ .clock1 = WARNTIME, .clock2 = FLASHTIME, .newloc = LOC_START,
+ .loc = LOC_START, .limit = GAMELIMIT, .foobar = WORD_EMPTY,
+};
-static bool quick_init(void);
-static int raw_init(void);
-static void report(void);
-static void quick_save(void);
-static int finish_init(void);
-static void quick_io(void);
-
-void initialise(void) {
- if (oldstyle)
+int initialise(void) {
+ if (settings.oldstyle) {
printf("Initialising...\n");
- if(!quick_init()){raw_init(); report(); quick_save();}
- finish_init();
-}
-
-static int raw_init(void) {
- printf("Couldn't find adventure.data, using adventure.text...\n");
-
- FILE *OPENED=fopen("adventure.text","r" /* NOT binary */);
- if(!OPENED){printf("Can't read adventure.text!\n"); exit(0);}
-
-/* Clear out the various text-pointer arrays. All text is stored in array
- * lines; each line is preceded by a word pointing to the next pointer (i.e.
- * the word following the end of the line). The pointer is negative if this is
- * first line of a message. The text-pointer arrays contain indices of
- * pointer-words in lines. STEXT(N) is short description of location N.
- * LTEXT(N) is long description. PTEXT(N) points to message for PROP(N)=0.
- * Successive prop messages are found by chasing pointers. RTEXT contains
- * section 6's stuff. CTEXT(N) points to a player-class message. TTEXT is for
- * section 14. We also clear COND (see description of section 9 for details). */
-
- /* 1001 */ for (I=1; I<=300; I++) {
- if(I <= 100)PTEXT[I]=0;
- if(I <= RTXSIZ)RTEXT[I]=0;
- if(I <= CLSMAX)CTEXT[I]=0;
- if(I <= 100)OBJSND[I]=0;
- if(I <= 100)OBJTXT[I]=0;
- if(I > LOCSIZ) goto L1001;
- STEXT[I]=0;
- LTEXT[I]=0;
- COND[I]=0;
- KEY[I]=0;
- LOCSND[I]=0;
-L1001: /*etc*/ ;
- } /* end loop */
-
- LINUSE=1;
- TRVS=1;
- CLSSES=0;
- TRNVLS=0;
-
-/* Start new data section. Sect is the section number. */
-
-L1002: SECT=GETNUM(OPENED);
- OLDLOC= -1;
- switch (SECT) { case 0: return(0); case 1: goto L1004; case 2: goto
- L1004; case 3: goto L1030; case 4: goto L1040; case 5: goto L1004;
- case 6: goto L1004; case 7: goto L1050; case 8: goto L1060; case
- 9: goto L1070; case 10: goto L1004; case 11: goto L1080; case 12:
- break; case 13: goto L1090; case 14: goto L1004; }
-/* (0) (1) (2) (3) (4) (5) (6) (7) (8) (9)
- * (10) (11) (12) (13) (14) */
- BUG(9);
-
-/* Sections 1, 2, 5, 6, 10, 14. Read messages and set up pointers. */
-
-L1004: KK=LINUSE;
-L1005: LINUSE=KK;
- LOC=GETNUM(OPENED);
- if(LNLENG >= LNPOSN+70)BUG(0);
- if(LOC == -1) goto L1002;
- if(LNLENG < LNPOSN)BUG(1);
-L1006: KK=KK+1;
- if(KK >= LINSIZ)BUG(2);
- LINES[KK]=GETTXT(false,false,false,KK);
- if(LINES[KK] != -1) goto L1006;
- LINES[LINUSE]=KK;
- if(LOC == OLDLOC) goto L1005;
- OLDLOC=LOC;
- LINES[LINUSE]= -KK;
- if(SECT == 14) goto L1014;
- if(SECT == 10) goto L1012;
- if(SECT == 6) goto L1011;
- if(SECT == 5) goto L1010;
- if(LOC > LOCSIZ)BUG(10);
- if(SECT == 1) goto L1008;
-
- STEXT[LOC]=LINUSE;
- goto L1005;
-
-L1008: LTEXT[LOC]=LINUSE;
- goto L1005;
-
-L1010: if(LOC > 0 && LOC <= 100)PTEXT[LOC]=LINUSE;
- goto L1005;
-
-L1011: if(LOC > RTXSIZ)BUG(6);
- RTEXT[LOC]=LINUSE;
- goto L1005;
-
-L1012: CLSSES=CLSSES+1;
- if(CLSSES > CLSMAX)BUG(11);
- CTEXT[CLSSES]=LINUSE;
- CVAL[CLSSES]=LOC;
- goto L1005;
-
-L1014: TRNVLS=TRNVLS+1;
- if(TRNVLS > TRNSIZ)BUG(11);
- TTEXT[TRNVLS]=LINUSE;
- TRNVAL[TRNVLS]=LOC;
- goto L1005;
-
-/* The stuff for section 3 is encoded here. Each "from-location" gets a
- * contiguous section of the "TRAVEL" array. Each entry in travel is
- * NEWLOC*1000 + KEYWORD (from section 4, motion verbs), and is negated if
- * this is the last entry for this location. KEY(N) is the index in travel
- * of the first option at location N. */
-
-L1030: LOC=GETNUM(OPENED);
- if(LOC == -1) goto L1002;
- NEWLOC=GETNUM(NULL);
- if(KEY[LOC] != 0) goto L1033;
- KEY[LOC]=TRVS;
- goto L1035;
-L1033: TRVS--; TRAVEL[TRVS]= -TRAVEL[TRVS]; TRVS++;
-L1035: L=GETNUM(NULL);
- if(L == 0) goto L1039;
- TRAVEL[TRVS]=NEWLOC*1000+L;
- TRVS=TRVS+1;
- if(TRVS == TRVSIZ)BUG(3);
- goto L1035;
-L1039: TRVS--; TRAVEL[TRVS]= -TRAVEL[TRVS]; TRVS++;
- goto L1030;
-
-/* Here we read in the vocabulary. KTAB(N) is the word number, ATAB(N) is
- * the corresponding word. The -1 at the end of section 4 is left in KTAB
- * as an end-marker. The words are given a minimal hash to make deciphering
- * the core-image harder. (We don't use gettxt's hash since that would force
- * us to hash each input line to make comparisons work, and that in turn
- * would make it harder to detect particular input words.) */
-
-L1040: J=10000;
- for (TABNDX=1; TABNDX<=TABSIZ; TABNDX++) {
- KTAB[TABNDX]=GETNUM(OPENED);
- if(KTAB[TABNDX] == -1) goto L1002;
- J=J+7;
- ATAB[TABNDX]=GETTXT(true,true,true,0)+J*J;
- } /* end loop */
- BUG(4);
-
-/* Read in the initial locations for each object. Also the immovability info.
- * plac contains initial locations of objects. FIXD is -1 for immovable
- * objects (including the snake), or = second loc for two-placed objects. */
-
-L1050: OBJ=GETNUM(OPENED);
- if(OBJ == -1) goto L1002;
- PLAC[OBJ]=GETNUM(NULL);
- FIXD[OBJ]=GETNUM(NULL);
- goto L1050;
-
-/* Read default message numbers for action verbs, store in ACTSPK. */
-
-L1060: VERB=GETNUM(OPENED);
- if(VERB == -1) goto L1002;
- ACTSPK[VERB]=GETNUM(NULL);
- goto L1060;
-
-/* Read info about available liquids and other conditions, store in COND. */
-
-L1070: K=GETNUM(OPENED);
- if(K == -1) goto L1002;
-L1071: LOC=GETNUM(NULL);
- if(LOC == 0) goto L1070;
- if(CNDBIT(LOC,K)) BUG(8);
- COND[LOC]=COND[LOC]+SETBIT(K);
- goto L1071;
-
-/* Read data for hints. */
-
-L1080: HNTMAX=0;
-L1081: K=GETNUM(OPENED);
- if(K == -1) goto L1002;
- if(K <= 0 || K > HNTSIZ)BUG(7);
- for (I=1; I<=4; I++) {
- HINTS[K][I] =GETNUM(NULL);
- } /* end loop */
- HNTMAX=(HNTMAX>K ? HNTMAX : K);
- goto L1081;
-
-/* Read the sound/text info, store in OBJSND, OBJTXT, LOCSND. */
-
-L1090: K=GETNUM(OPENED);
- if(K == -1) goto L1002;
- KK=GETNUM(NULL);
- I=GETNUM(NULL);
- if(I == 0) goto L1092;
- OBJSND[K]=(KK>0 ? KK : 0);
- OBJTXT[K]=(I>0 ? I : 0);
- goto L1090;
-
-L1092: LOCSND[K]=KK;
- goto L1090;
-}
-
-/* Finish constructing internal data format */
-
-/* Having read in the database, certain things are now constructed. PROPS are
- * set to zero. We finish setting up COND by checking for forced-motion travel
- * entries. The PLAC and FIXD arrays are used to set up ATLOC(N) as the first
- * object at location N, and LINK(OBJ) as the next object at the same location
- * as OBJ. (OBJ>100 indicates that FIXED(OBJ-100)=LOC; LINK(OBJ) is still the
- * correct link to use.) ABB is zeroed; it controls whether the abbreviated
- * description is printed. Counts modulo 5 unless "LOOK" is used. */
-
-static int finish_init(void) {
- for (I=1; I<=100; I++) {
- PLACE[I]=0;
- PROP[I]=0;
- LINK[I]=0;
- {long x = I+100; LINK[x]=0;}
- } /* end loop */
-
- /* 1102 */ for (I=1; I<=LOCSIZ; I++) {
- ABB[I]=0;
- if(LTEXT[I] == 0 || KEY[I] == 0) goto L1102;
- K=KEY[I];
- if(MOD(IABS(TRAVEL[K]),1000) == 1)COND[I]=2;
-L1102: ATLOC[I]=0;
- } /* end loop */
-
-/* Set up the ATLOC and LINK arrays as described above. We'll use the DROP
- * subroutine, which prefaces new objects on the lists. Since we want things
- * in the other order, we'll run the loop backwards. If the object is in two
- * locs, we drop it twice. This also sets up "PLACE" and "fixed" as copies of
- * "PLAC" and "FIXD". Also, since two-placed objects are typically best
- * described last, we'll drop them first. */
-
- /* 1106 */ for (I=1; I<=100; I++) {
- K=101-I;
- if(FIXD[K] <= 0) goto L1106;
- DROP(K+100,FIXD[K]);
- DROP(K,PLAC[K]);
-L1106: /*etc*/ ;
- } /* end loop */
-
- for (I=1; I<=100; I++) {
- K=101-I;
- FIXED[K]=FIXD[K];
- if(PLAC[K] != 0 && FIXD[K] <= 0)DROP(K,PLAC[K]);
- } /* end loop */
-
-/* Treasures, as noted earlier, are objects 50 through MAXTRS (CURRENTLY 79).
- * Their props are initially -1, and are set to 0 the first time they are
- * described. TALLY keeps track of how many are not yet found, so we know
- * when to close the cave. */
-
- MAXTRS=79;
- TALLY=0;
- for (I=50; I<=MAXTRS; I++) {
- if(PTEXT[I] != 0)PROP[I]= -1;
- TALLY=TALLY-PROP[I];
- } /* end loop */
-
-/* Clear the hint stuff. HINTLC(I) is how long he's been at LOC with cond bit
- * I. HINTED(I) is true iff hint I has been used. */
-
- for (I=1; I<=HNTMAX; I++) {
- HINTED[I]=false;
- HINTLC[I]=0;
- } /* end loop */
-
-/* Define some handy mnemonics. These correspond to object numbers. */
-
- AXE=VOCWRD(12405,1);
- BATTER=VOCWRD(201202005,1);
- BEAR=VOCWRD(2050118,1);
- BIRD=VOCWRD(2091804,1);
- BLOOD=VOCWRD(212151504,1);
- BOTTLE=VOCWRD(215202012,1);
- CAGE=VOCWRD(3010705,1);
- CAVITY=VOCWRD(301220920,1);
- CHASM=VOCWRD(308011913,1);
- CLAM=VOCWRD(3120113,1);
- DOOR=VOCWRD(4151518,1);
- DRAGON=VOCWRD(418010715,1);
- DWARF=VOCWRD(423011806,1);
- FISSUR=VOCWRD(609191921,1);
- FOOD=VOCWRD(6151504,1);
- GRATE=VOCWRD(718012005,1);
- KEYS=VOCWRD(11052519,1);
- KNIFE=VOCWRD(1114090605,1);
- LAMP=VOCWRD(12011316,1);
- MAGZIN=VOCWRD(1301070126,1);
- MESSAG=VOCWRD(1305191901,1);
- MIRROR=VOCWRD(1309181815,1);
- OGRE=VOCWRD(15071805,1);
- OIL=VOCWRD(150912,1);
- OYSTER=VOCWRD(1525192005,1);
- PILLOW=VOCWRD(1609121215,1);
- PLANT=VOCWRD(1612011420,1);
- PLANT2=PLANT+1;
- RESER=VOCWRD(1805190518,1);
- ROD=VOCWRD(181504,1);
- ROD2=ROD+1;
- SIGN=VOCWRD(19090714,1);
- SNAKE=VOCWRD(1914011105,1);
- STEPS=VOCWRD(1920051619,1);
- TROLL=VOCWRD(2018151212,1);
- TROLL2=TROLL+1;
- URN=VOCWRD(211814,1);
- VEND=VOCWRD(1755140409,1);
- VOLCAN=VOCWRD(1765120301,1);
- WATER=VOCWRD(1851200518,1);
-
-/* Objects from 50 through whatever are treasures. Here are a few. */
-
- AMBER=VOCWRD(113020518,1);
- CHAIN=VOCWRD(308010914,1);
- CHEST=VOCWRD(308051920,1);
- COINS=VOCWRD(315091419,1);
- EGGS=VOCWRD(5070719,1);
- EMRALD=VOCWRD(513051801,1);
- JADE=VOCWRD(10010405,1);
- NUGGET=VOCWRD(7151204,1);
- PEARL=VOCWRD(1605011812,1);
- PYRAM=VOCWRD(1625180113,1);
- RUBY=VOCWRD(18210225,1);
- RUG=VOCWRD(182107,1);
- SAPPH=VOCWRD(1901161608,1);
- TRIDNT=VOCWRD(2018090405,1);
- VASE=VOCWRD(22011905,1);
-
-/* These are motion-verb numbers. */
-
- BACK=VOCWRD(2010311,0);
- CAVE=VOCWRD(3012205,0);
- DPRSSN=VOCWRD(405161805,0);
- ENTER=VOCWRD(514200518,0);
- ENTRNC=VOCWRD(514201801,0);
- LOOK=VOCWRD(12151511,0);
- NUL=VOCWRD(14211212,0);
- STREAM=VOCWRD(1920180501,0);
-
-/* And some action verbs. */
-
- FIND=VOCWRD(6091404,2);
- INVENT=VOCWRD(914220514,2);
- LOCK=VOCWRD(12150311,2);
- SAY=VOCWRD(190125,2);
- THROW=VOCWRD(2008181523,2);
-
-/* Initialise the dwarves. DLOC is loc of dwarves, hard-wired in. ODLOC is
- * prior loc of each dwarf, initially garbage. DALTLC is alternate initial loc
- * for dwarf, in case one of them starts out on top of the adventurer. (No 2
- * of the 5 initial locs are adjacent.) DSEEN is true if dwarf has seen him.
- * DFLAG controls the level of activation of all this:
- * 0 No dwarf stuff yet (wait until reaches Hall Of Mists)
- * 1 Reached Hall Of Mists, but hasn't met first dwarf
- * 2 Met first dwarf, others start moving, no knives thrown yet
- * 3 A knife has been thrown (first set always misses)
- * 3+ Dwarves are mad (increases their accuracy)
- * Sixth dwarf is special (the pirate). He always starts at his chest's
- * eventual location inside the maze. This loc is saved in CHLOC for ref.
- * the dead end in the other maze has its loc stored in CHLOC2. */
-
- CHLOC=114;
- CHLOC2=140;
- for (I=1; I<=6; I++) {
- DSEEN[I]=false;
- } /* end loop */
- DFLAG=0;
- DLOC[1]=19;
- DLOC[2]=27;
- DLOC[3]=33;
- DLOC[4]=44;
- DLOC[5]=64;
- DLOC[6]=CHLOC;
- DALTLC=18;
-
-/* Other random flags and counters, as follows:
- * ABBNUM How often we should print non-abbreviated descriptions
- * BONUS Used to determine amount of bonus if he reaches closing
- * CLOCK1 Number of turns from finding last treasure till closing
- * CLOCK2 Number of turns from first warning till blinding flash
- * CONDS Min value for cond(loc) if loc has any hints
- * DETAIL How often we've said "not allowed to give more detail"
- * DKILL Number of dwarves killed (unused in scoring, needed for msg)
- * FOOBAR Current progress in saying "FEE FIE FOE FOO".
- * HOLDNG Number of objects being carried
- * IGO How many times he's said "go XXX" instead of "XXX"
- * IWEST How many times he's said "west" instead of "w"
- * KNFLOC 0 if no knife here, loc if knife here, -1 after caveat
- * LIMIT Lifetime of lamp (not set here)
- * MAXDIE Number of reincarnation messages available (up to 5)
- * NUMDIE Number of times killed so far
- * THRESH Next #turns threshhold (-1 if none)
- * TRNDEX Index in TRNVAL of next threshhold (section 14 of database)
- * TRNLUZ # points lost so far due to number of turns used
- * TURNS Tallies how many commands he's given (ignores yes/no)
- * Logicals were explained earlier */
-
- TURNS=0;
- TRNDEX=1;
- THRESH= -1;
- if(TRNVLS > 0)THRESH=MOD(TRNVAL[1],100000)+1;
- TRNLUZ=0;
- LMWARN=false;
- IGO=0;
- IWEST=0;
- KNFLOC=0;
- DETAIL=0;
- ABBNUM=5;
- for (I=0; I<=4; I++) {
- {long x = 2*I+81; if(RTEXT[x] != 0)MAXDIE=I+1;}
- } /* end loop */
- NUMDIE=0;
- HOLDNG=0;
- DKILL=0;
- FOOBAR=0;
- BONUS=0;
- CLOCK1=30;
- CLOCK2=50;
- CONDS=SETBIT(11);
- SAVED=0;
- CLOSNG=false;
- PANIC=false;
- CLOSED=false;
- CLSHNT=false;
- NOVICE=false;
- SETUP=1;
-
- /* if we can ever think of how, we should save it at this point */
-
- return(0); /* then we won't actually return from initialisation */
-}
-
-/* Report on amount of arrays actually used, to permit reductions. */
-
-static void report(void) {
- for (K=1; K<=LOCSIZ; K++) {
- KK=LOCSIZ+1-K;
- if(LTEXT[KK] != 0) goto L1997;
- /*etc*/ ;
- } /* end loop */
-
- OBJ=0;
-L1997: for (K=1; K<=100; K++) {
- if(PTEXT[K] != 0)OBJ=OBJ+1;
- } /* end loop */
-
- for (K=1; K<=TABNDX; K++) {
- if(KTAB[K]/1000 == 2)VERB=KTAB[K]-2000;
- } /* end loop */
-
- for (K=1; K<=RTXSIZ; K++) {
- J=RTXSIZ+1-K;
- if(RTEXT[J] != 0) goto L1993;
- /*etc*/ ;
- } /* end loop */
-
-L1993: SETPRM(1,LINUSE,LINSIZ);
- SETPRM(3,TRVS,TRVSIZ);
- SETPRM(5,TABNDX,TABSIZ);
- SETPRM(7,KK,LOCSIZ);
- SETPRM(9,OBJ,100);
- SETPRM(11,VERB,VRBSIZ);
- SETPRM(13,J,RTXSIZ);
- SETPRM(15,CLSSES,CLSMAX);
- SETPRM(17,HNTMAX,HNTSIZ);
- SETPRM(19,TRNVLS,TRNSIZ);
- RSPEAK(267);
- TYPE0();
-}
-
-static long init_reading, init_cksum;
-static FILE *f;
-
-static void quick_item(long*);
-static void quick_array(long*, long);
-
-static bool quick_init(void) {
- extern char *getenv();
- char *adv = getenv("ADVENTURE");
- f = NULL;
- if(adv)f = fopen(adv,READ_MODE);
- if(f == NULL)f = fopen("adventure.data",READ_MODE);
- if(f == NULL)return(false);
- init_reading = true;
- init_cksum = 1;
- quick_io();
- if(fread(&K,sizeof(long),1,f) == 1) init_cksum -= K; else init_cksum = 1;
- fclose(f);
- if(init_cksum != 0)printf("Checksum error!\n");
- return(init_cksum == 0);
-}
-
-static void quick_save(void) {
- printf("Writing adventure.data...\n");
- f = fopen("adventure.data",WRITE_MODE);
- if(f == NULL){printf("Can't open file!\n"); return;}
- init_reading = false;
- init_cksum = 1;
- quick_io();
- fwrite(&init_cksum,sizeof(long),1,f);
- fclose(f);
-}
-
-static void quick_io(void) {
- quick_item(&LINUSE);
- quick_item(&TRVS);
- quick_item(&CLSSES);
- quick_item(&TRNVLS);
- quick_item(&TABNDX);
- quick_item(&HNTMAX);
- quick_array(PTEXT,100);
- quick_array(RTEXT,RTXSIZ);
- quick_array(CTEXT,CLSMAX);
- quick_array(OBJSND,100);
- quick_array(OBJTXT,100);
- quick_array(STEXT,LOCSIZ);
- quick_array(LTEXT,LOCSIZ);
- quick_array(COND,LOCSIZ);
- quick_array(KEY,LOCSIZ);
- quick_array(LOCSND,LOCSIZ);
- quick_array(LINES,LINSIZ);
- quick_array(CVAL,CLSMAX);
- quick_array(TTEXT,TRNSIZ);
- quick_array(TRNVAL,TRNSIZ);
- quick_array(TRAVEL,TRVSIZ);
- quick_array(KTAB,TABSIZ);
- quick_array(ATAB,TABSIZ);
- quick_array(PLAC,100);
- quick_array(FIXD,100);
- quick_array(ACTSPK,VRBSIZ);
- quick_array((long *)HINTS,(HNTMAX+1)*5-1);
-}
-
-static void quick_item(W)long *W; {
- if(init_reading && fread(W,sizeof(long),1,f) != 1)return;
- init_cksum = MOD(init_cksum*13+(*W),60000000);
- if(!init_reading)fwrite(W,sizeof(long),1,f);
-}
-
-static void quick_array(A,N)long *A, N; { long I;
- if(init_reading && fread(A,sizeof(long),N+1,f) != N+1)printf("Read error!\n");
- for(I=1;I<=N;I++)init_cksum = MOD(init_cksum*13+A[I],60000000);
- if(!init_reading && fwrite(A,sizeof(long),N+1,f)!=N+1)printf("Write error!\n");
+ }
+
+ srand(time(NULL));
+ int seedval = (int)rand();
+ set_seed(seedval);
+
+ for (int i = 1; i <= NDWARVES; i++) {
+ game.dwarves[i].loc = dwarflocs[i - 1];
+ }
+
+ for (int i = 1; i <= NOBJECTS; i++) {
+ game.objects[i].place = LOC_NOWHERE;
+ }
+
+ for (int i = 1; i <= NLOCATIONS; i++) {
+ if (!(locations[i].description.big == 0 || tkey[i] == 0)) {
+ int k = tkey[i];
+ if (travel[k].motion == HERE) {
+ conditions[i] |= (1 << COND_FORCED);
+ }
+ }
+ }
+
+ /* Set up the game.locs atloc and game.link arrays.
+ * We'll use the DROP subroutine, which prefaces new objects on the
+ * lists. Since we want things in the other order, we'll run the
+ * loop backwards. If the object is in two locs, we drop it twice.
+ * Also, since two-placed objects are typically best described
+ * last, we'll drop them first. */
+ for (int i = NOBJECTS; i >= 1; i--) {
+ if (objects[i].fixd > 0) {
+ drop(i + NOBJECTS, objects[i].fixd);
+ drop(i, objects[i].plac);
+ }
+ }
+
+ for (int i = 1; i <= NOBJECTS; i++) {
+ int k = NOBJECTS + 1 - i;
+ game.objects[k].fixed = objects[k].fixd;
+ if (objects[k].plac != 0 && objects[k].fixd <= 0) {
+ drop(k, objects[k].plac);
+ }
+ }
+
+ /* Treasure props are initially STATE_NOTFOUND, and are set to
+ * STATE_FOUND the first time they are described. game.tally
+ * keeps track of how many are not yet found, so we know when to
+ * close the cave.
+ * (ESR) Non-treasures are set to STATE_FOUND explicitly so we
+ * don't rely on the value of uninitialized storage. This is to
+ * make translation to future languages easier. */
+ for (int object = 1; object <= NOBJECTS; object++) {
+ if (objects[object].is_treasure) {
+ ++game.tally;
+ if (objects[object].inventory != NULL) {
+ OBJECT_SET_NOT_FOUND(object);
+ }
+ } else {
+ OBJECT_SET_FOUND(object);
+ }
+ }
+ game.conds = setbit(COND_HBASE);
+
+ return seedval;
}
diff --git a/lamp.png b/lamp.png
new file mode 100644
index 0000000..a260132
Binary files /dev/null and b/lamp.png differ
diff --git a/main.c b/main.c
index 6841cee..835fc1b 100644
--- a/main.c
+++ b/main.c
@@ -1,883 +1,1588 @@
/*
- * The author - Don Woods - apologises for the style of the code; it
- * is a result of running the original Fortran IV source through a
- * home-brew Fortran-to-C converter.)
+ * SPDX-FileCopyrightText: (C) 1977, 2005 by Will Crowther and Don Woods
+ * SPDX-License-Identifier: BSD-2-Clause
*/
-#include
-#include
-#include
+
+#include "advent.h"
+#include
+#include
#include
-#include "main.h"
+#include
+#include
+#include
+#include
+#include
+#include
-#include "misc.h"
+#define DIM(a) (sizeof(a) / sizeof(a[0]))
-long ABB[186], ATAB[331], ATLOC[186], BLKLIN = true, DFLAG,
- DLOC[7], FIXED[101], HOLDNG,
- KTAB[331], *LINES, LINK[201], LNLENG, LNPOSN,
- PARMS[26], PLACE[101], PTEXT[101], RTEXT[278],
- SETUP = 0, TABSIZ = 330;
-signed char INLINE[LINESIZE+1], MAP1[129], MAP2[129];
+#if defined ADVENT_AUTOSAVE
+static FILE *autosave_fp;
+void autosave(void) {
+ if (autosave_fp != NULL) {
+ rewind(autosave_fp);
+ savefile(autosave_fp);
+ fflush(autosave_fp);
+ }
+}
+#endif
-long ABBNUM, ACTSPK[36], AMBER, ATTACK, AXE, BACK, BATTER, BEAR, BIRD, BLOOD, BONUS,
- BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST, CHLOC, CHLOC2,
- CLAM, CLOCK1, CLOCK2, CLOSED, CLOSNG, CLSHNT, CLSMAX = 12, CLSSES,
- COINS, COND[186], CONDS, CTEXT[13], CVAL[13], DALTLC, DETAIL,
- DKILL, DOOR, DPRSSN, DRAGON, DSEEN[7], DTOTAL, DWARF, EGGS,
- EMRALD, ENTER, ENTRNC, FIND, FISSUR, FIXD[101], FOOBAR, FOOD,
- GRATE, HINT, HINTED[21], HINTLC[21], HINTS[21][5], HNTMAX,
- HNTSIZ = 20, I, INVENT, IGO, IWEST, J, JADE, K, K2, KEY[186], KEYS, KK,
- KNFLOC, KNIFE, KQ, L, LAMP, LIMIT, LINSIZ = 12500, LINUSE, LL,
- LMWARN, LOC, LOCK, LOCSIZ = 185, LOCSND[186], LOOK, LTEXT[186],
- MAGZIN, MAXDIE, MAXTRS, MESH = 123456789,
- MESSAG, MIRROR, MXSCOR,
- NEWLOC, NOVICE, NUGGET, NUL, NUMDIE, OBJ, OBJSND[101],
- OBJTXT[101], ODLOC[7], OGRE, OIL, OLDLC2, OLDLOC, OLDOBJ, OYSTER,
- PANIC, PEARL, PILLOW, PLAC[101], PLANT, PLANT2, PROP[101], PYRAM,
- RESER, ROD, ROD2, RTXSIZ = 277, RUBY, RUG, SAPPH, SAVED, SAY,
- SCORE, SECT, SIGN, SNAKE, SPK, STEPS, STEXT[186], STICK,
- STREAM, TABNDX, TALLY, THRESH, THROW, TK[21], TRAVEL[886], TRIDNT,
- TRNDEX, TRNLUZ, TRNSIZ = 5, TRNVAL[6], TRNVLS, TROLL, TROLL2, TRVS,
- TRVSIZ = 885, TTEXT[6], TURNS, URN, V1, V2, VASE, VEND, VERB,
- VOLCAN, VRBSIZ = 35, VRSION = 25, WATER, WD1, WD1X, WD2, WD2X,
- WZDARK = false, ZZWORD;
-FILE *logfp;
-bool oldstyle = false;
+// LCOV_EXCL_START
+// exclude from coverage analysis because it requires interactivity to test
+static void sig_handler(int signo) {
+ if (signo == SIGINT) {
+ if (settings.logfp != NULL) {
+ fflush(settings.logfp);
+ }
+ }
-extern void initialise();
-extern void score(long);
-extern int action(long);
+#if defined ADVENT_AUTOSAVE
+ if (signo == SIGHUP || signo == SIGTERM) {
+ autosave();
+ }
+#endif
+ exit(EXIT_FAILURE);
+}
+// LCOV_EXCL_STOP
+
+char *myreadline(const char *prompt) {
+ /*
+ * This function isn't required for gameplay, readline() straight
+ * up would suffice for that. It's where we interpret command-line
+ * logfiles for testing purposes.
+ */
+ /* Normal case - no script arguments */
+ if (settings.argc == 0) {
+ char *ln = readline(prompt);
+ if (ln == NULL) {
+ fputs(prompt, stdout);
+ }
+ return ln;
+ }
+
+ char *buf = malloc(LINESIZE + 1);
+ for (;;) {
+ if (settings.scriptfp == NULL || feof(settings.scriptfp)) {
+ if (settings.optind >= settings.argc) {
+ free(buf);
+ return NULL;
+ }
+
+ char *next = settings.argv[settings.optind++];
+
+ if (settings.scriptfp != NULL &&
+ feof(settings.scriptfp)) {
+ fclose(settings.scriptfp);
+ }
+ if (strcmp(next, "-") == 0) {
+ settings.scriptfp = stdin; // LCOV_EXCL_LINE
+ } else {
+ settings.scriptfp = fopen(next, "r");
+ }
+ }
+
+ if (isatty(fileno(settings.scriptfp)) && !settings.oldstyle) {
+ free(buf); // LCOV_EXCL_LINE
+ return readline(prompt); // LCOV_EXCL_LINE
+ } else {
+ char *ln = fgets(buf, LINESIZE, settings.scriptfp);
+ if (ln != NULL) {
+ fputs(prompt, stdout);
+ fputs(ln, stdout);
+ return ln;
+ }
+ }
+ }
+
+ return NULL;
+}
+
+/* Check if this loc is eligible for any hints. If been here int
+ * enough, display. Ignore "HINTS" < 4 (special stuff, see database
+ * notes). */
+static void checkhints(void) {
+ if (conditions[game.loc] >= game.conds) {
+ for (int hint = 0; hint < NHINTS; hint++) {
+ if (game.hints[hint].used) {
+ continue;
+ }
+ if (!CNDBIT(game.loc, hint + 1 + COND_HBASE)) {
+ game.hints[hint].lc = -1;
+ }
+ ++game.hints[hint].lc;
+ /* Come here if he's been int enough at required loc(s)
+ * for some unused hint. */
+ if (game.hints[hint].lc >= hints[hint].turns) {
+ int i;
+
+ switch (hint) {
+ case 0:
+ /* cave */
+ if (game.objects[GRATE].prop ==
+ GRATE_CLOSED &&
+ !HERE(KEYS)) {
+ break;
+ }
+ game.hints[hint].lc = 0;
+ return;
+ case 1: /* bird */
+ if (game.objects[BIRD].place ==
+ game.loc &&
+ TOTING(ROD) &&
+ game.oldobj == BIRD) {
+ break;
+ }
+ return;
+ case 2: /* snake */
+ if (HERE(SNAKE) && !HERE(BIRD)) {
+ break;
+ }
+ game.hints[hint].lc = 0;
+ return;
+ case 3: /* maze */
+ if (game.locs[game.loc].atloc ==
+ NO_OBJECT &&
+ game.locs[game.oldloc].atloc ==
+ NO_OBJECT &&
+ game.locs[game.oldlc2].atloc ==
+ NO_OBJECT &&
+ game.holdng > 1) {
+ break;
+ }
+ game.hints[hint].lc = 0;
+ return;
+ case 4: /* dark */
+ if (!OBJECT_IS_NOTFOUND(EMERALD) &&
+ OBJECT_IS_NOTFOUND(PYRAMID)) {
+ break;
+ }
+ game.hints[hint].lc = 0;
+ return;
+ case 5: /* witt */
+ break;
+ case 6: /* urn */
+ if (game.dflag == 0) {
+ break;
+ }
+ game.hints[hint].lc = 0;
+ return;
+ case 7: /* woods */
+ if (game.locs[game.loc].atloc ==
+ NO_OBJECT &&
+ game.locs[game.oldloc].atloc ==
+ NO_OBJECT &&
+ game.locs[game.oldlc2].atloc ==
+ NO_OBJECT) {
+ break;
+ }
+ return;
+ case 8: /* ogre */
+ i = atdwrf(game.loc);
+ if (i < 0) {
+ game.hints[hint].lc = 0;
+ return;
+ }
+ if (HERE(OGRE) && i == 0) {
+ break;
+ }
+ return;
+ case 9: /* jade */
+ if (game.tally == 1 &&
+ (OBJECT_IS_STASHED(JADE) ||
+ OBJECT_IS_NOTFOUND(JADE))) {
+ break;
+ }
+ game.hints[hint].lc = 0;
+ return;
+ default: // LCOV_EXCL_LINE
+ // Should never happen
+ BUG(HINT_NUMBER_EXCEEDS_GOTO_LIST); // LCOV_EXCL_LINE
+ }
+
+ /* Fall through to hint display */
+ game.hints[hint].lc = 0;
+ if (!yes_or_no(hints[hint].question,
+ arbitrary_messages[NO_MESSAGE],
+ arbitrary_messages[OK_MAN])) {
+ return;
+ }
+ rspeak(HINT_COST, hints[hint].penalty,
+ hints[hint].penalty);
+ game.hints[hint].used =
+ yes_or_no(arbitrary_messages[WANT_HINT],
+ hints[hint].hint,
+ arbitrary_messages[OK_MAN]);
+ if (game.hints[hint].used &&
+ game.limit > WARNTIME) {
+ game.limit +=
+ WARNTIME * hints[hint].penalty;
+ }
+ }
+ }
+ }
+}
+
+static bool spotted_by_pirate(int i) {
+ if (i != PIRATE) {
+ return false;
+ }
+
+ /* The pirate's spotted him. Pirate leaves him alone once we've
+ * found chest. K counts if a treasure is here. If not, and
+ * tally=1 for an unseen chest, let the pirate be spotted. Note
+ * that game.objexts,place[CHEST] = LOC_NOWHERE might mean that he's
+ * thrown it to the troll, but in that case he's seen the chest
+ * OBJECT_IS_FOUND(CHEST) == true. */
+ if (game.loc == game.chloc || !OBJECT_IS_NOTFOUND(CHEST)) {
+ return true;
+ }
+ int snarfed = 0;
+ bool movechest = false, robplayer = false;
+ for (int treasure = 1; treasure <= NOBJECTS; treasure++) {
+ if (!objects[treasure].is_treasure) {
+ continue;
+ }
+ /* Pirate won't take pyramid from plover room or dark
+ * room (too easy!). */
+ if (treasure == PYRAMID &&
+ (game.loc == objects[PYRAMID].plac ||
+ game.loc == objects[EMERALD].plac)) {
+ continue;
+ }
+ if (TOTING(treasure) || HERE(treasure)) {
+ ++snarfed;
+ }
+ if (TOTING(treasure)) {
+ movechest = true;
+ robplayer = true;
+ }
+ }
+ /* Force chest placement before player finds last treasure */
+ if (game.tally == 1 && snarfed == 0 &&
+ game.objects[CHEST].place == LOC_NOWHERE && HERE(LAMP) &&
+ game.objects[LAMP].prop == LAMP_BRIGHT) {
+ rspeak(PIRATE_SPOTTED);
+ movechest = true;
+ }
+ /* Do things in this order (chest move before robbery) so chest is
+ * listed last at the maze location. */
+ if (movechest) {
+ move(CHEST, game.chloc);
+ move(MESSAG, game.chloc2);
+ game.dwarves[PIRATE].loc = game.chloc;
+ game.dwarves[PIRATE].oldloc = game.chloc;
+ game.dwarves[PIRATE].seen = false;
+ } else {
+ /* You might get a hint of the pirate's presence even if the
+ * chest doesn't move... */
+ if (game.dwarves[PIRATE].oldloc != game.dwarves[PIRATE].loc &&
+ PCT(20)) {
+ rspeak(PIRATE_RUSTLES);
+ }
+ }
+ if (robplayer) {
+ rspeak(PIRATE_POUNCES);
+ for (int treasure = 1; treasure <= NOBJECTS; treasure++) {
+ if (!objects[treasure].is_treasure) {
+ continue;
+ }
+ if (!(treasure == PYRAMID &&
+ (game.loc == objects[PYRAMID].plac ||
+ game.loc == objects[EMERALD].plac))) {
+ if (AT(treasure) &&
+ game.objects[treasure].fixed == IS_FREE) {
+ carry(treasure, game.loc);
+ }
+ if (TOTING(treasure)) {
+ drop(treasure, game.chloc);
+ }
+ }
+ }
+ }
+
+ return true;
+}
+
+static bool dwarfmove(void) {
+ /* Dwarves move. Return true if player survives, false if he dies. */
+ int kk, stick, attack;
+ loc_t tk[21];
+
+ /* Dwarf stuff. See earlier comments for description of
+ * variables. Remember sixth dwarf is pirate and is thus
+ * very different except for motion rules. */
+
+ /* First off, don't let the dwarves follow him into a pit or a
+ * wall. Activate the whole mess the first time he gets as far
+ * as the Hall of Mists (what INDEEP() tests). If game.newloc
+ * is forbidden to pirate (in particular, if it's beyond the
+ * troll bridge), bypass dwarf stuff. That way pirate can't
+ * steal return toll, and dwarves can't meet the bear. Also
+ * means dwarves won't follow him into dead end in maze, but
+ * c'est la vie. They'll wait for him outside the dead end. */
+ if (game.loc == LOC_NOWHERE || FORCED(game.loc) ||
+ CNDBIT(game.newloc, COND_NOARRR)) {
+ return true;
+ }
+
+ /* Dwarf activity level ratchets up */
+ if (game.dflag == 0) {
+ if (INDEEP(game.loc)) {
+ game.dflag = 1;
+ }
+ return true;
+ }
+
+ /* When we encounter the first dwarf, we kill 0, 1, or 2 of
+ * the 5 dwarves. If any of the survivors is at game.loc,
+ * replace him with the alternate. */
+ if (game.dflag == 1) {
+ if (!INDEEP(game.loc) ||
+ (PCT(95) && (!CNDBIT(game.loc, COND_NOBACK) || PCT(85)))) {
+ return true;
+ }
+ game.dflag = 2;
+ for (int i = 1; i <= 2; i++) {
+ int j = 1 + randrange(NDWARVES - 1);
+ if (PCT(50)) {
+ game.dwarves[j].loc = 0;
+ }
+ }
+
+ /* Alternate initial loc for dwarf, in case one of them
+ * starts out on top of the adventurer. */
+ for (int i = 1; i <= NDWARVES - 1; i++) {
+ if (game.dwarves[i].loc == game.loc) {
+ game.dwarves[i].loc = DALTLC;
+ }
+ game.dwarves[i].oldloc = game.dwarves[i].loc;
+ }
+ rspeak(DWARF_RAN);
+ drop(AXE, game.loc);
+ return true;
+ }
+
+ /* Things are in full swing. Move each dwarf at random,
+ * except if he's seen us he sticks with us. Dwarves stay
+ * deep inside. If wandering at random, they don't back up
+ * unless there's no alternative. If they don't have to
+ * move, they attack. And, of course, dead dwarves don't do
+ * much of anything. */
+ game.dtotal = 0;
+ attack = 0;
+ stick = 0;
+ for (int i = 1; i <= NDWARVES; i++) {
+ if (game.dwarves[i].loc == 0) {
+ continue;
+ }
+ /* Fill tk array with all the places this dwarf might go. */
+ unsigned int j = 1;
+ kk = tkey[game.dwarves[i].loc];
+ if (kk != 0) {
+ do {
+ enum desttype_t desttype = travel[kk].desttype;
+ game.newloc = travel[kk].destval;
+ /* Have we avoided a dwarf encounter? */
+ if (desttype != dest_goto) {
+ continue;
+ } else if (!INDEEP(game.newloc)) {
+ continue;
+ } else if (game.newloc ==
+ game.dwarves[i].oldloc) {
+ continue;
+ } else if (j > 1 && game.newloc == tk[j - 1]) {
+ continue;
+ } else if (j >= DIM(tk) - 1) {
+ /* This can't actually happen. */
+ continue; // LCOV_EXCL_LINE
+ } else if (game.newloc == game.dwarves[i].loc) {
+ continue;
+ } else if (FORCED(game.newloc)) {
+ continue;
+ } else if (i == PIRATE &&
+ CNDBIT(game.newloc, COND_NOARRR)) {
+ continue;
+ } else if (travel[kk].nodwarves) {
+ continue;
+ }
+ tk[j++] = game.newloc;
+ } while (!travel[kk++].stop);
+ }
+ tk[j] = game.dwarves[i].oldloc;
+ if (j >= 2) {
+ --j;
+ }
+ j = 1 + randrange(j);
+ game.dwarves[i].oldloc = game.dwarves[i].loc;
+ game.dwarves[i].loc = tk[j];
+ game.dwarves[i].seen =
+ (game.dwarves[i].seen && INDEEP(game.loc)) ||
+ (game.dwarves[i].loc == game.loc ||
+ game.dwarves[i].oldloc == game.loc);
+ if (!game.dwarves[i].seen) {
+ continue;
+ }
+ game.dwarves[i].loc = game.loc;
+ if (spotted_by_pirate(i)) {
+ continue;
+ }
+ /* This threatening little dwarf is in the room with him! */
+ ++game.dtotal;
+ if (game.dwarves[i].oldloc == game.dwarves[i].loc) {
+ ++attack;
+ if (game.knfloc >= LOC_NOWHERE) {
+ game.knfloc = game.loc;
+ }
+ if (randrange(1000) < 95 * (game.dflag - 2)) {
+ ++stick;
+ }
+ }
+ }
+
+ /* Now we know what's happening. Let's tell the poor sucker about it.
+ */
+ if (game.dtotal == 0) {
+ return true;
+ }
+ rspeak(game.dtotal == 1 ? DWARF_SINGLE : DWARF_PACK, game.dtotal);
+ if (attack == 0) {
+ return true;
+ }
+ if (game.dflag == 2) {
+ game.dflag = 3;
+ }
+ if (attack > 1) {
+ rspeak(THROWN_KNIVES, attack);
+ rspeak(stick > 1 ? MULTIPLE_HITS
+ : (stick == 1 ? ONE_HIT : NONE_HIT),
+ stick);
+ } else {
+ rspeak(KNIFE_THROWN);
+ rspeak(stick ? GETS_YOU : MISSES_YOU);
+ }
+ if (stick == 0) {
+ return true;
+ }
+ game.oldlc2 = game.loc;
+ return false;
+}
+
+/* "You're dead, Jim."
+ *
+ * If the current loc is zero, it means the clown got himself killed.
+ * We'll allow this maxdie times. NDEATHS is automatically set based
+ * on the number of snide messages available. Each death results in
+ * a message (obituaries[n]) which offers reincarnation; if accepted,
+ * this results in message obituaries[0], obituaries[2], etc. The
+ * last time, if he wants another chance, he gets a snide remark as
+ * we exit. When reincarnated, all objects being carried get dropped
+ * at game.oldlc2 (presumably the last place prior to being killed)
+ * without change of props. The loop runs backwards to assure that
+ * the bird is dropped before the cage. (This kluge could be changed
+ * once we're sure all references to bird and cage are done by
+ * keywords.) The lamp is a special case (it wouldn't do to leave it
+ * in the cave). It is turned off and left outside the building (only
+ * if he was carrying it, of course). He himself is left inside the
+ * building (and heaven help him if he tries to xyzzy back into the
+ * cave without the lamp!). game.oldloc is zapped so he can't just
+ * "retreat". */
+static void croak(void) {
+ /* Okay, he's dead. Let's get on with it. */
+ const char *query = obituaries[game.numdie].query;
+ const char *yes_response = obituaries[game.numdie].yes_response;
+
+ ++game.numdie;
+
+ if (game.closng) {
+ /* He died during closing time. No resurrection. Tally up a
+ * death and exit. */
+ rspeak(DEATH_CLOSING);
+ terminate(endgame);
+ } else if (!yes_or_no(query, yes_response,
+ arbitrary_messages[OK_MAN]) ||
+ game.numdie == NDEATHS) {
+ /* Player is asked if he wants to try again. If not, or if
+ * he's already used all of his lives, we end the game */
+ terminate(endgame);
+ } else {
+ /* If player wishes to continue, we empty the liquids in the
+ * user's inventory, turn off the lamp, and drop all items
+ * where he died. */
+ game.objects[WATER].place = game.objects[OIL].place =
+ LOC_NOWHERE;
+ if (TOTING(LAMP)) {
+ game.objects[LAMP].prop = LAMP_DARK;
+ }
+ for (int j = 1; j <= NOBJECTS; j++) {
+ int i = NOBJECTS + 1 - j;
+ if (TOTING(i)) {
+ /* Always leave lamp where it's accessible
+ * aboveground */
+ drop(i, (i == LAMP) ? LOC_START : game.oldlc2);
+ }
+ }
+ game.oldloc = game.loc = game.newloc = LOC_BUILDING;
+ }
+}
+
+static void describe_location(void) {
+ /* Describe the location to the user */
+ const char *msg = locations[game.loc].description.small;
+
+ if (MOD(game.locs[game.loc].abbrev, game.abbnum) == 0 ||
+ msg == NO_MESSAGE) {
+ msg = locations[game.loc].description.big;
+ }
+
+ if (!FORCED(game.loc) && IS_DARK_HERE()) {
+ msg = arbitrary_messages[PITCH_DARK];
+ }
+
+ if (TOTING(BEAR)) {
+ rspeak(TAME_BEAR);
+ }
+
+ speak(msg);
+
+ if (game.loc == LOC_Y2 && PCT(25) && !game.closng) {
+ rspeak(SAYS_PLUGH);
+ }
+}
+
+static bool traveleq(int a, int b) {
+ /* Are two travel entries equal for purposes of skip after failed
+ * condition? */
+ return (travel[a].condtype == travel[b].condtype) &&
+ (travel[a].condarg1 == travel[b].condarg1) &&
+ (travel[a].condarg2 == travel[b].condarg2) &&
+ (travel[a].desttype == travel[b].desttype) &&
+ (travel[a].destval == travel[b].destval);
+}
+
+/* Given the current location in "game.loc", and a motion verb number in
+ * "motion", put the new location in "game.newloc". The current loc is saved
+ * in "game.oldloc" in case he wants to retreat. The current
+ * game.oldloc is saved in game.oldlc2, in case he dies. (if he
+ * does, game.newloc will be limbo, and game.oldloc will be what killed
+ * him, so we need game.oldlc2, which is the last place he was
+ * safe.) */
+static void playermove(int motion) {
+ int scratchloc, travel_entry = tkey[game.loc];
+ game.newloc = game.loc;
+ if (travel_entry == 0) {
+ BUG(LOCATION_HAS_NO_TRAVEL_ENTRIES); // LCOV_EXCL_LINE
+ }
+ if (motion == NUL) {
+ return;
+ } else if (motion == BACK) {
+ /* Handle "go back". Look for verb which goes from game.loc to
+ * game.oldloc, or to game.oldlc2 If game.oldloc has
+ * forced-motion. te_tmp saves entry -> forced loc -> previous
+ * loc. */
+ motion = game.oldloc;
+ if (FORCED(motion)) {
+ motion = game.oldlc2;
+ }
+ game.oldlc2 = game.oldloc;
+ game.oldloc = game.loc;
+ if (CNDBIT(game.loc, COND_NOBACK)) {
+ rspeak(TWIST_TURN);
+ return;
+ }
+ if (motion == game.loc) {
+ rspeak(FORGOT_PATH);
+ return;
+ }
+
+ int te_tmp = 0;
+ for (;;) {
+ enum desttype_t desttype =
+ travel[travel_entry].desttype;
+ scratchloc = travel[travel_entry].destval;
+ if (desttype != dest_goto || scratchloc != motion) {
+ if (desttype == dest_goto) {
+ if (FORCED(scratchloc) &&
+ travel[tkey[scratchloc]].destval ==
+ motion) {
+ te_tmp = travel_entry;
+ }
+ }
+ if (!travel[travel_entry].stop) {
+ ++travel_entry; /* go to next travel
+ entry for this
+ location */
+ continue;
+ }
+ /* we've reached the end of travel entries for
+ * game.loc */
+ travel_entry = te_tmp;
+ if (travel_entry == 0) {
+ rspeak(NOT_CONNECTED);
+ return;
+ }
+ }
+
+ motion = travel[travel_entry].motion;
+ travel_entry = tkey[game.loc];
+ break; /* fall through to ordinary travel */
+ }
+ } else if (motion == LOOK) {
+ /* Look. Can't give more detail. Pretend it wasn't dark
+ * (though it may now be dark) so he won't fall into a
+ * pit while staring into the gloom. */
+ if (game.detail < 3) {
+ rspeak(NO_MORE_DETAIL);
+ }
+ ++game.detail;
+ game.wzdark = false;
+ game.locs[game.loc].abbrev = 0;
+ return;
+ } else if (motion == CAVE) {
+ /* Cave. Different messages depending on whether above ground.
+ */
+ rspeak((OUTSIDE(game.loc) && game.loc != LOC_GRATE)
+ ? FOLLOW_STREAM
+ : NEED_DETAIL);
+ return;
+ } else {
+ /* none of the specials */
+ game.oldlc2 = game.oldloc;
+ game.oldloc = game.loc;
+ }
+
+ /* Look for a way to fulfil the motion verb passed in - travel_entry
+ * indexes the beginning of the motion entries for here (game.loc). */
+ for (;;) {
+ if ((travel[travel_entry].motion == HERE) ||
+ travel[travel_entry].motion == motion) {
+ break;
+ }
+ if (travel[travel_entry].stop) {
+ /* Couldn't find an entry matching the motion word
+ * passed in. Various messages depending on word given.
+ */
+ switch (motion) {
+ case EAST:
+ case WEST:
+ case SOUTH:
+ case NORTH:
+ case NE:
+ case NW:
+ case SW:
+ case SE:
+ case UP:
+ case DOWN:
+ rspeak(BAD_DIRECTION);
+ break;
+ case FORWARD:
+ case LEFT:
+ case RIGHT:
+ rspeak(UNSURE_FACING);
+ break;
+ case OUTSIDE:
+ case INSIDE:
+ rspeak(NO_INOUT_HERE);
+ break;
+ case XYZZY:
+ case PLUGH:
+ rspeak(NOTHING_HAPPENS);
+ break;
+ case CRAWL:
+ rspeak(WHICH_WAY);
+ break;
+ default:
+ rspeak(CANT_APPLY);
+ }
+ return;
+ }
+ ++travel_entry;
+ }
+
+ /* (ESR) We've found a destination that goes with the motion verb.
+ * Next we need to check any conditional(s) on this destination, and
+ * possibly on following entries. */
+ do {
+ for (;;) { /* L12 loop */
+ for (;;) {
+ enum condtype_t condtype =
+ travel[travel_entry].condtype;
+ int condarg1 = travel[travel_entry].condarg1;
+ int condarg2 = travel[travel_entry].condarg2;
+ if (condtype < cond_not) {
+ /* YAML N and [pct N] conditionals */
+ if (condtype == cond_goto ||
+ condtype == cond_pct) {
+ if (condarg1 == 0 ||
+ PCT(condarg1)) {
+ break;
+ }
+ /* else fall through */
+ }
+ /* YAML [with OBJ] clause */
+ else if (TOTING(condarg1) ||
+ (condtype == cond_with &&
+ AT(condarg1))) {
+ break;
+ }
+ /* else fall through to check [not OBJ
+ * STATE] */
+ } else if (game.objects[condarg1].prop !=
+ condarg2) {
+ break;
+ }
+
+ /* We arrive here on conditional failure.
+ * Skip to next non-matching destination */
+ int te_tmp = travel_entry;
+ do {
+ if (travel[te_tmp].stop) {
+ BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
+ }
+ ++te_tmp;
+ } while (traveleq(travel_entry, te_tmp));
+ travel_entry = te_tmp;
+ }
+
+ /* Found an eligible rule, now execute it */
+ enum desttype_t desttype =
+ travel[travel_entry].desttype;
+ game.newloc = travel[travel_entry].destval;
+ if (desttype == dest_goto) {
+ return;
+ }
+
+ if (desttype == dest_speak) {
+ /* Execute a speak rule */
+ rspeak(game.newloc);
+ game.newloc = game.loc;
+ return;
+ } else {
+ switch (game.newloc) {
+ case 1:
+ /* Special travel 1. Plover-alcove
+ * passage. Can carry only emerald.
+ * Note: travel table must include
+ * "useless" entries going through
+ * passage, which can never be used for
+ * actual motion, but can be spotted by
+ * "go back". */
+ game.newloc = (game.loc == LOC_PLOVER)
+ ? LOC_ALCOVE
+ : LOC_PLOVER;
+ if (game.holdng > 1 ||
+ (game.holdng == 1 &&
+ !TOTING(EMERALD))) {
+ game.newloc = game.loc;
+ rspeak(MUST_DROP);
+ }
+ return;
+ case 2:
+ /* Special travel 2. Plover transport.
+ * Drop the emerald (only use special
+ * travel if toting it), so he's forced
+ * to use the plover-passage to get it
+ * out. Having dropped it, go back and
+ * pretend he wasn't carrying it after
+ * all. */
+ drop(EMERALD, game.loc);
+ {
+ int te_tmp = travel_entry;
+ do {
+ if (travel[te_tmp]
+ .stop) {
+ BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
+ }
+ ++te_tmp;
+ } while (traveleq(travel_entry,
+ te_tmp));
+ travel_entry = te_tmp;
+ }
+ continue; /* goto L12 */
+ case 3:
+ /* Special travel 3. Troll bridge. Must
+ * be done only as special motion so
+ * that dwarves won't wander across and
+ * encounter the bear. (They won't
+ * follow the player there because that
+ * region is forbidden to the pirate.)
+ * If game.prop[TROLL]=TROLL_PAIDONCE,
+ * he's crossed since paying, so step
+ * out and block him. (standard travel
+ * entries check for
+ * game.prop[TROLL]=TROLL_UNPAID.)
+ * Special stuff for bear. */
+ if (game.objects[TROLL].prop ==
+ TROLL_PAIDONCE) {
+ pspeak(TROLL, look, true,
+ TROLL_PAIDONCE);
+ game.objects[TROLL].prop =
+ TROLL_UNPAID;
+ DESTROY(TROLL2);
+ move(TROLL2 + NOBJECTS,
+ IS_FREE);
+ move(TROLL,
+ objects[TROLL].plac);
+ move(TROLL + NOBJECTS,
+ objects[TROLL].fixd);
+ juggle(CHASM);
+ game.newloc = game.loc;
+ return;
+ } else {
+ game.newloc =
+ objects[TROLL].plac +
+ objects[TROLL].fixd -
+ game.loc;
+ if (game.objects[TROLL].prop ==
+ TROLL_UNPAID) {
+ game.objects[TROLL]
+ .prop =
+ TROLL_PAIDONCE;
+ }
+ if (!TOTING(BEAR)) {
+ return;
+ }
+ state_change(CHASM,
+ BRIDGE_WRECKED);
+ game.objects[TROLL].prop =
+ TROLL_GONE;
+ drop(BEAR, game.newloc);
+ game.objects[BEAR].fixed =
+ IS_FIXED;
+ game.objects[BEAR].prop =
+ BEAR_DEAD;
+ game.oldlc2 = game.newloc;
+ croak();
+ return;
+ }
+ default: // LCOV_EXCL_LINE
+ BUG(SPECIAL_TRAVEL_500_GT_L_GT_300_EXCEEDS_GOTO_LIST); // LCOV_EXCL_LINE
+ }
+ }
+ break; /* Leave L12 loop */
+ }
+ } while (false);
+}
+
+static void lampcheck(void) {
+ /* Check game limit and lamp timers */
+ if (game.objects[LAMP].prop == LAMP_BRIGHT) {
+ --game.limit;
+ }
+
+ /* Another way we can force an end to things is by having the
+ * lamp give out. When it gets close, we come here to warn him.
+ * First following arm checks if the lamp and fresh batteries are
+ * here, in which case we replace the batteries and continue.
+ * Second is for other cases of lamp dying. Even after it goes
+ * out, he can explore outside for a while if desired. */
+ if (game.limit <= WARNTIME) {
+ if (HERE(BATTERY) &&
+ game.objects[BATTERY].prop == FRESH_BATTERIES &&
+ HERE(LAMP)) {
+ rspeak(REPLACE_BATTERIES);
+ game.objects[BATTERY].prop = DEAD_BATTERIES;
+#ifdef __unused__
+ /* This code from the original game seems to have been
+ * faulty. No tests ever passed the guard, and with the
+ * guard removed the game hangs when the lamp limit is
+ * reached.
+ */
+ if (TOTING(BATTERY)) {
+ drop(BATTERY, game.loc);
+ }
+#endif
+ game.limit += BATTERYLIFE;
+ game.lmwarn = false;
+ } else if (!game.lmwarn && HERE(LAMP)) {
+ game.lmwarn = true;
+ if (game.objects[BATTERY].prop == DEAD_BATTERIES) {
+ rspeak(MISSING_BATTERIES);
+ } else if (game.objects[BATTERY].place == LOC_NOWHERE) {
+ rspeak(LAMP_DIM);
+ } else {
+ rspeak(GET_BATTERIES);
+ }
+ }
+ }
+ if (game.limit == 0) {
+ game.limit = -1;
+ game.objects[LAMP].prop = LAMP_DARK;
+ if (HERE(LAMP)) {
+ rspeak(LAMP_OUT);
+ }
+ }
+}
+
+/* Handle the closing of the cave. The cave closes "clock1" turns
+ * after the last treasure has been located (including the pirate's
+ * chest, which may of course never show up). Note that the
+ * treasures need not have been taken yet, just located. Hence
+ * clock1 must be large enough to get out of the cave (it only ticks
+ * while inside the cave). When it hits zero, we start closing the
+ * cave, and then sit back and wait for him to try to get out. If he
+ * doesn't within clock2 turns, we close the cave; if he does try, we
+ * assume he panics, and give him a few additional turns to get
+ * frantic before we close. When clock2 hits zero, we transport him
+ * into the final puzzle. Note that the puzzle depends upon all
+ * sorts of random things. For instance, there must be no water or
+ * oil, since there are beanstalks which we don't want to be able to
+ * water, since the code can't handle it. Also, we can have no keys,
+ * since there is a grate (having moved the fixed object!) there
+ * separating him from all the treasures. Most of these problems
+ * arise from the use of negative prop numbers to suppress the object
+ * descriptions until he's actually moved the objects. */
+static bool closecheck(void) {
+ /* If a turn threshold has been met, apply penalties and tell
+ * the player about it. */
+ for (int i = 0; i < NTHRESHOLDS; ++i) {
+ if (game.turns == turn_thresholds[i].threshold + 1) {
+ game.trnluz += turn_thresholds[i].point_loss;
+ speak(turn_thresholds[i].message);
+ }
+ }
+
+ /* Don't tick game.clock1 unless well into cave (and not at Y2). */
+ if (game.tally == 0 && INDEEP(game.loc) && game.loc != LOC_Y2) {
+ --game.clock1;
+ }
+
+ /* When the first warning comes, we lock the grate, destroy
+ * the bridge, kill all the dwarves (and the pirate), remove
+ * the troll and bear (unless dead), and set "closng" to
+ * true. Leave the dragon; too much trouble to move it.
+ * from now until clock2 runs out, he cannot unlock the
+ * grate, move to any location outside the cave, or create
+ * the bridge. Nor can he be resurrected if he dies. Note
+ * that the snake is already gone, since he got to the
+ * treasure accessible only via the hall of the mountain
+ * king. Also, he's been in giant room (to get eggs), so we
+ * can refer to it. Also also, he's gotten the pearl, so we
+ * know the bivalve is an oyster. *And*, the dwarves must
+ * have been activated, since we've found chest. */
+ if (game.clock1 == 0) {
+ game.objects[GRATE].prop = GRATE_CLOSED;
+ game.objects[FISSURE].prop = UNBRIDGED;
+ for (int i = 1; i <= NDWARVES; i++) {
+ game.dwarves[i].seen = false;
+ game.dwarves[i].loc = LOC_NOWHERE;
+ }
+ DESTROY(TROLL);
+ move(TROLL + NOBJECTS, IS_FREE);
+ move(TROLL2, objects[TROLL].plac);
+ move(TROLL2 + NOBJECTS, objects[TROLL].fixd);
+ juggle(CHASM);
+ if (game.objects[BEAR].prop != BEAR_DEAD) {
+ DESTROY(BEAR);
+ }
+ game.objects[CHAIN].prop = CHAIN_HEAP;
+ game.objects[CHAIN].fixed = IS_FREE;
+ game.objects[AXE].prop = AXE_HERE;
+ game.objects[AXE].fixed = IS_FREE;
+ rspeak(CAVE_CLOSING);
+ game.clock1 = -1;
+ game.closng = true;
+ return game.closed;
+ } else if (game.clock1 < 0) {
+ --game.clock2;
+ }
+ if (game.clock2 == 0) {
+ /* Once he's panicked, and clock2 has run out, we come here
+ * to set up the storage room. The room has two locs,
+ * hardwired as LOC_NE and LOC_SW. At the ne end, we
+ * place empty bottles, a nursery of plants, a bed of
+ * oysters, a pile of lamps, rods with stars, sleeping
+ * dwarves, and him. At the sw end we place grate over
+ * treasures, snake pit, covey of caged birds, more rods, and
+ * pillows. A mirror stretches across one wall. Many of the
+ * objects come from known locations and/or states (e.g. the
+ * snake is known to have been destroyed and needn't be
+ * carried away from its old "place"), making the various
+ * objects be handled differently. We also drop all other
+ * objects he might be carrying (lest he has some which
+ * could cause trouble, such as the keys). We describe the
+ * flash of light and trundle back. */
+ put(BOTTLE, LOC_NE, EMPTY_BOTTLE);
+ put(PLANT, LOC_NE, PLANT_THIRSTY);
+ put(OYSTER, LOC_NE, STATE_FOUND);
+ put(LAMP, LOC_NE, LAMP_DARK);
+ put(ROD, LOC_NE, STATE_FOUND);
+ put(DWARF, LOC_NE, STATE_FOUND);
+ game.loc = LOC_NE;
+ game.oldloc = LOC_NE;
+ game.newloc = LOC_NE;
+ /* Leave the grate with normal (non-negative) property.
+ * Reuse sign. */
+ move(GRATE, LOC_SW);
+ move(SIGN, LOC_SW);
+ game.objects[SIGN].prop = ENDGAME_SIGN;
+ put(SNAKE, LOC_SW, SNAKE_CHASED);
+ put(BIRD, LOC_SW, BIRD_CAGED);
+ put(CAGE, LOC_SW, STATE_FOUND);
+ put(ROD2, LOC_SW, STATE_FOUND);
+ put(PILLOW, LOC_SW, STATE_FOUND);
+
+ put(MIRROR, LOC_NE, STATE_FOUND);
+ game.objects[MIRROR].fixed = LOC_SW;
+
+ for (int i = 1; i <= NOBJECTS; i++) {
+ if (TOTING(i)) {
+ DESTROY(i);
+ }
+ }
+
+ rspeak(CAVE_CLOSED);
+ game.closed = true;
+ return game.closed;
+ }
+
+ lampcheck();
+ return false;
+}
+
+static void listobjects(void) {
+ /* Print out descriptions of objects at this location. If
+ * not closing and property value is negative, tally off
+ * another treasure. Rug is special case; once seen, its
+ * game.prop is RUG_DRAGON (dragon on it) till dragon is killed.
+ * Similarly for chain; game.prop is initially CHAINING_BEAR (locked to
+ * bear). These hacks are because game.prop=0 is needed to
+ * get full score. */
+ if (!IS_DARK_HERE()) {
+ ++game.locs[game.loc].abbrev;
+ for (int i = game.locs[game.loc].atloc; i != 0;
+ i = game.link[i]) {
+ obj_t obj = i;
+ if (obj > NOBJECTS) {
+ obj = obj - NOBJECTS;
+ }
+ if (obj == STEPS && TOTING(NUGGET)) {
+ continue;
+ }
+ /* (ESR) Warning: it looks like you could get away with
+ * running this code only on objects with the treasure
+ * property set. Nope. There is mystery here.
+ */
+ if (OBJECT_IS_STASHED(i) || OBJECT_IS_NOTFOUND(obj)) {
+ if (game.closed) {
+ continue;
+ }
+ OBJECT_SET_FOUND(obj);
+ if (obj == RUG) {
+ game.objects[RUG].prop = RUG_DRAGON;
+ }
+ if (obj == CHAIN) {
+ game.objects[CHAIN].prop =
+ CHAINING_BEAR;
+ }
+ if (obj == EGGS) {
+ game.seenbigwords = true;
+ }
+ --game.tally;
+ /* Note: There used to be a test here to see
+ * whether the player had blown it so badly that
+ * he could never ever see the remaining
+ * treasures, and if so the lamp was zapped to
+ * 35 turns. But the tests were too
+ * simple-minded; things like killing the bird
+ * before the snake was gone (can never see
+ * jewelry), and doing it "right" was hopeless.
+ * E.G., could cross troll bridge several times,
+ * using up all available treasures, breaking
+ * vase, using coins to buy batteries, etc., and
+ * eventually never be able to get across again.
+ * If bottle were left on far side, could then
+ * never get eggs or trident, and the effects
+ * propagate. So the whole thing was flushed.
+ * anyone who makes such a gross blunder isn't
+ * likely to find everything else anyway (so
+ * goes the rationalisation). */
+ }
+ int kk = game.objects[obj].prop;
+ if (obj == STEPS) {
+ kk = (game.loc == game.objects[STEPS].fixed)
+ ? STEPS_UP
+ : STEPS_DOWN;
+ }
+ pspeak(obj, look, true, kk);
+ }
+ }
+}
+
+/* Pre-processes a command input to see if we need to tease out a few specific
+ * cases:
+ * - "enter water" or "enter stream":
+ * weird specific case that gets the user wet, and then kicks us back to get
+ * another command
+ * - :
+ * Irregular form of input, but should be allowed. We switch back to
+ * form for further processing.
+ * - "grate":
+ * If in location with grate, we move to that grate. If we're in a number of
+ * other places, we move to the entrance.
+ * - "water plant", "oil plant", "water door", "oil door":
+ * Change to "pour water" or "pour oil" based on context
+ * - "cage bird":
+ * If bird is present, we change to "carry bird"
+ *
+ * Returns true if pre-processing is complete, and we're ready to move to the
+ * primary command processing, false otherwise. */
+static bool preprocess_command(command_t *command) {
+ if (command->word[0].type == MOTION && command->word[0].id == ENTER &&
+ (command->word[1].id == STREAM || command->word[1].id == WATER)) {
+ if (LIQLOC(game.loc) == WATER) {
+ rspeak(FEET_WET);
+ } else {
+ rspeak(WHERE_QUERY);
+ }
+ } else {
+ if (command->word[0].type == OBJECT) {
+ /* From OV to VO form */
+ if (command->word[1].type == ACTION) {
+ command_word_t stage = command->word[0];
+ command->word[0] = command->word[1];
+ command->word[1] = stage;
+ }
+
+ if (command->word[0].id == GRATE) {
+ command->word[0].type = MOTION;
+ if (game.loc == LOC_START ||
+ game.loc == LOC_VALLEY ||
+ game.loc == LOC_SLIT) {
+ command->word[0].id = DEPRESSION;
+ }
+ if (game.loc == LOC_COBBLE ||
+ game.loc == LOC_DEBRIS ||
+ game.loc == LOC_AWKWARD ||
+ game.loc == LOC_BIRDCHAMBER ||
+ game.loc == LOC_PITTOP) {
+ command->word[0].id = ENTRANCE;
+ }
+ }
+ if ((command->word[0].id == WATER ||
+ command->word[0].id == OIL) &&
+ (command->word[1].id == PLANT ||
+ command->word[1].id == DOOR)) {
+ if (AT(command->word[1].id)) {
+ command->word[1] = command->word[0];
+ command->word[0].id = POUR;
+ command->word[0].type = ACTION;
+ strncpy(command->word[0].raw, "pour",
+ LINESIZE - 1);
+ }
+ }
+ if (command->word[0].id == CAGE &&
+ command->word[1].id == BIRD && HERE(CAGE) &&
+ HERE(BIRD)) {
+ command->word[0].id = CARRY;
+ command->word[0].type = ACTION;
+ }
+ }
+
+ /* If no word type is given for the first word, we assume it's a
+ * motion. */
+ if (command->word[0].type == NO_WORD_TYPE) {
+ command->word[0].type = MOTION;
+ }
+
+ command->state = PREPROCESSED;
+ return true;
+ }
+ return false;
+}
+
+static bool do_move(void) {
+ /* Actually execute the move to the new location and dwarf movement */
+ /* Can't leave cave once it's closing (except by main office). */
+ if (OUTSIDE(game.newloc) && game.newloc != 0 && game.closng) {
+ rspeak(EXIT_CLOSED);
+ game.newloc = game.loc;
+ if (!game.panic) {
+ game.clock2 = PANICTIME;
+ }
+ game.panic = true;
+ }
+
+ /* See if a dwarf has seen him and has come from where he
+ * wants to go. If so, the dwarf's blocking his way. If
+ * coming from place forbidden to pirate (dwarves rooted in
+ * place) let him get out (and attacked). */
+ if (game.newloc != game.loc && !FORCED(game.loc) &&
+ !CNDBIT(game.loc, COND_NOARRR)) {
+ for (size_t i = 1; i <= NDWARVES - 1; i++) {
+ if (game.dwarves[i].oldloc == game.newloc &&
+ game.dwarves[i].seen) {
+ game.newloc = game.loc;
+ rspeak(DWARF_BLOCK);
+ break;
+ }
+ }
+ }
+ game.loc = game.newloc;
+
+ if (!dwarfmove()) {
+ croak();
+ }
+
+ if (game.loc == LOC_NOWHERE) {
+ croak();
+ }
+
+ /* The easiest way to get killed is to fall into a pit in
+ * pitch darkness. */
+ if (!FORCED(game.loc) && IS_DARK_HERE() && game.wzdark &&
+ PCT(PIT_KILL_PROB)) {
+ rspeak(PIT_FALL);
+ game.oldlc2 = game.loc;
+ croak();
+ return false;
+ }
+
+ return true;
+}
+
+static bool do_command(void) {
+ /* Get and execute a command */
+ static command_t command;
+ clear_command(&command);
+
+ /* Describe the current location and (maybe) get next command. */
+ while (command.state != EXECUTED) {
+ describe_location();
+
+ if (FORCED(game.loc)) {
+ playermove(HERE);
+ return true;
+ }
+
+ listobjects();
+
+ /* Command not yet given; keep getting commands from user
+ * until valid command is both given and executed. */
+ clear_command(&command);
+ while (command.state <= GIVEN) {
+
+ if (game.closed) {
+ /* If closing time, check for any stashed
+ * objects being toted and unstash them. This
+ * way objects won't be described until they've
+ * been picked up and put down separate from
+ * their respective piles. */
+ if ((OBJECT_IS_NOTFOUND(OYSTER) ||
+ OBJECT_IS_STASHED(OYSTER)) &&
+ TOTING(OYSTER)) {
+ pspeak(OYSTER, look, true, 1);
+ }
+ for (size_t i = 1; i <= NOBJECTS; i++) {
+ if (TOTING(i) &&
+ (OBJECT_IS_NOTFOUND(i) ||
+ OBJECT_IS_STASHED(i))) {
+ OBJECT_STASHIFY(
+ i, game.objects[i].prop);
+ }
+ }
+ }
+
+ /* Check to see if the room is dark. */
+ game.wzdark = IS_DARK_HERE();
+
+ /* If the knife is not here it permanently disappears.
+ * Possibly this should fire if the knife is here but
+ * the room is dark? */
+ if (game.knfloc > LOC_NOWHERE &&
+ game.knfloc != game.loc) {
+ game.knfloc = LOC_NOWHERE;
+ }
+
+ /* Check some for hints, get input from user, increment
+ * turn, and pre-process commands. Keep going until
+ * pre-processing is done. */
+ while (command.state < PREPROCESSED) {
+ checkhints();
+
+ /* Get command input from user */
+ if (!get_command_input(&command)) {
+ return false;
+ }
+
+ /* Every input, check "foobar" flag. If zero,
+ * nothing's going on. If pos, make neg. If neg,
+ * he skipped a word, so make it zero.
+ */
+ game.foobar = (game.foobar > WORD_EMPTY)
+ ? -game.foobar
+ : WORD_EMPTY;
+
+ ++game.turns;
+ preprocess_command(&command);
+ }
+
+ /* check if game is closed, and exit if it is */
+ if (closecheck()) {
+ return true;
+ }
+
+ /* loop until all words in command are processed */
+ while (command.state == PREPROCESSED) {
+ command.state = PROCESSING;
+
+ if (command.word[0].id == WORD_NOT_FOUND) {
+ /* Gee, I don't understand. */
+ sspeak(DONT_KNOW, command.word[0].raw);
+ clear_command(&command);
+ continue;
+ }
+
+ /* Give user hints of shortcuts */
+ if (strncasecmp(command.word[0].raw, "west",
+ sizeof("west")) == 0) {
+ if (++game.iwest == 10) {
+ rspeak(W_IS_WEST);
+ }
+ }
+ if (strncasecmp(command.word[0].raw, "go",
+ sizeof("go")) == 0 &&
+ command.word[1].id != WORD_EMPTY) {
+ if (++game.igo == 10) {
+ rspeak(GO_UNNEEDED);
+ }
+ }
+
+ switch (command.word[0].type) {
+ case MOTION:
+ playermove(command.word[0].id);
+ command.state = EXECUTED;
+ continue;
+ case OBJECT:
+ command.part = unknown;
+ command.obj = command.word[0].id;
+ break;
+ case ACTION:
+ if (command.word[1].type == NUMERIC) {
+ command.part = transitive;
+ } else {
+ command.part = intransitive;
+ }
+ command.verb = command.word[0].id;
+ break;
+ case NUMERIC:
+ if (!settings.oldstyle) {
+ sspeak(DONT_KNOW,
+ command.word[0].raw);
+ clear_command(&command);
+ continue;
+ }
+ break; // LCOV_EXCL_LINE
+ default: // LCOV_EXCL_LINE
+ case NO_WORD_TYPE: // LCOV_EXCL_LINE
+ BUG(VOCABULARY_TYPE_N_OVER_1000_NOT_BETWEEN_0_AND_3); // LCOV_EXCL_LINE
+ }
+
+ switch (action(command)) {
+ case GO_TERMINATE:
+ command.state = EXECUTED;
+ break;
+ case GO_MOVE:
+ playermove(NUL);
+ command.state = EXECUTED;
+ break;
+ case GO_WORD2:
+#ifdef GDEBUG
+ printf("Word shift\n");
+#endif /* GDEBUG */
+ /* Get second word for analysis. */
+ command.word[0] = command.word[1];
+ command.word[1] = empty_command_word;
+ command.state = PREPROCESSED;
+ break;
+ case GO_UNKNOWN:
+ /* Random intransitive verbs come here.
+ * Clear obj just in case (see
+ * attack()). */
+ command.word[0].raw[0] =
+ toupper(command.word[0].raw[0]);
+ sspeak(DO_WHAT, command.word[0].raw);
+ command.obj = NO_OBJECT;
+
+ /* object cleared; we need to go back to
+ * the preprocessing step */
+ command.state = GIVEN;
+ break;
+ case GO_CHECKHINT: // FIXME: re-name to be more
+ // contextual; this was
+ // previously a label
+ command.state = GIVEN;
+ break;
+ case GO_DWARFWAKE:
+ /* Oh dear, he's disturbed the dwarves.
+ */
+ rspeak(DWARVES_AWAKEN);
+ terminate(endgame);
+ case GO_CLEAROBJ: // FIXME: re-name to be more
+ // contextual; this was
+ // previously a label
+ clear_command(&command);
+ break;
+ case GO_TOP: // FIXME: re-name to be more
+ // contextual; this was previously
+ // a label
+ break;
+ default: // LCOV_EXCL_LINE
+ BUG(ACTION_RETURNED_PHASE_CODE_BEYOND_END_OF_SWITCH); // LCOV_EXCL_LINE
+ }
+ } /* while command has not been fully processed */
+ } /* while command is not yet given */
+ } /* while command is not executed */
+
+ /* command completely executed; we return true. */
+ return true;
+}
/*
* MAIN PROGRAM
+ *
+ * Adventure (rev 2: 20 treasures)
+ * History: Original idea & 5-treasure version (adventures) by Willie Crowther
+ * 15-treasure version (adventure) by Don Woods, April-June 1977
+ * 20-treasure version (rev 2) by Don Woods, August 1978
+ * Errata fixed: 78/12/25
+ * Revived 2017 as Open Adventure.
*/
int main(int argc, char *argv[]) {
int ch;
-/* Adventure (rev 2: 20 treasures) */
+ /* Options. */
-/* History: Original idea & 5-treasure version (adventures) by Willie Crowther
- * 15-treasure version (adventure) by Don Woods, April-June 1977
- * 20-treasure version (rev 2) by Don Woods, August 1978
- * Errata fixed: 78/12/25 */
-
-
-/* Options. */
-
- while ((ch = getopt(argc, argv, "l:o")) != EOF) {
+#if defined ADVENT_AUTOSAVE
+ const char *opts = "dl:oa:";
+ const char *usage =
+ "Usage: %s [-l logfilename] [-o] [-a filename] [script...]\n";
+ FILE *rfp = NULL;
+ const char *autosave_filename = NULL;
+#elif !defined ADVENT_NOSAVE
+ const char *opts = "dl:or:";
+ const char *usage = "Usage: %s [-l logfilename] [-o] [-r "
+ "restorefilename] [script...]\n";
+ FILE *rfp = NULL;
+#else
+ const char *opts = "dl:o";
+ const char *usage = "Usage: %s [-l logfilename] [-o] [script...]\n";
+#endif
+ while ((ch = getopt(argc, argv, opts)) != EOF) {
switch (ch) {
+ case 'd': // LCOV_EXCL_LINE
+ settings.debug += 1; // LCOV_EXCL_LINE
+ break; // LCOV_EXCL_LINE
case 'l':
- logfp = fopen(optarg, "w+");
- if (logfp == NULL)
- fprintf(stderr,
- "advent: can't open logfile %s for write\n",
- optarg);
+ settings.logfp = fopen(optarg, "w");
+ if (settings.logfp == NULL) {
+ fprintf(
+ stderr,
+ "advent: can't open logfile %s for write\n",
+ optarg);
+ }
+ signal(SIGINT, sig_handler);
break;
case 'o':
- oldstyle = true;
- break;
+ settings.oldstyle = true;
+ settings.prompt = false;
+ break;
+#ifdef ADVENT_AUTOSAVE
+ case 'a':
+ rfp = fopen(optarg, READ_MODE);
+ autosave_filename = optarg;
+ signal(SIGHUP, sig_handler);
+ signal(SIGTERM, sig_handler);
+ break;
+#elif !defined ADVENT_NOSAVE
+ case 'r':
+ rfp = fopen(optarg, "r");
+ if (rfp == NULL) {
+ fprintf(stderr,
+ "advent: can't open save file %s for "
+ "read\n",
+ optarg);
+ }
+ break;
+#endif
+ default:
+ fprintf(stderr, usage, argv[0]);
+ fprintf(stderr, " -l create a log file of your "
+ "game named as specified'\n");
+ fprintf(stderr,
+ " -o 'oldstyle' (no prompt, no command "
+ "editing, displays 'Initialising...')\n");
+#if defined ADVENT_AUTOSAVE
+ fprintf(stderr, " -a automatic save/restore "
+ "from specified saved game file\n");
+#elif !defined ADVENT_NOSAVE
+ fprintf(stderr, " -r restore from specified "
+ "saved game file\n");
+#endif
+ exit(EXIT_FAILURE);
+ break;
}
}
-/* Logical variables:
- *
- * CLOSED says whether we're all the way closed
- * CLOSNG says whether it's closing time yet
- * CLSHNT says whether he's read the clue in the endgame
- * LMWARN says whether he's been warned about lamp going dim
- * NOVICE says whether he asked for instructions at start-up
- * PANIC says whether he's found out he's trapped in the cave
- * WZDARK says whether the loc he's leaving was dark */
+ /* copy invocation line part after switches */
+ settings.argc = argc - optind;
+ settings.argv = argv + optind;
+ settings.optind = 0;
-#include "funcs.h"
+ /* Initialize game variables */
+ int seedval = initialise();
-/* Read the database if we have not yet done so */
+#if !defined ADVENT_NOSAVE
+ if (!rfp) {
+ game.novice = yes_or_no(arbitrary_messages[WELCOME_YOU],
+ arbitrary_messages[CAVE_NEARBY],
+ arbitrary_messages[NO_MESSAGE]);
+ if (game.novice) {
+ game.limit = NOVICELIMIT;
+ }
+ } else {
+ restore(rfp);
+#if defined ADVENT_AUTOSAVE
+ score(scoregame);
+#endif
+ }
+#if defined ADVENT_AUTOSAVE
+ if (autosave_filename != NULL) {
+ if ((autosave_fp = fopen(autosave_filename, WRITE_MODE)) ==
+ NULL) {
+ perror(autosave_filename);
+ return EXIT_FAILURE;
+ }
+ autosave();
+ }
+#endif
+#else
+ game.novice = yes_or_no(arbitrary_messages[WELCOME_YOU],
+ arbitrary_messages[CAVE_NEARBY],
+ arbitrary_messages[NO_MESSAGE]);
+ if (game.novice) {
+ game.limit = NOVICELIMIT;
+ }
+#endif
- LINES = (long *)calloc(LINSIZ+1,sizeof(long));
- if(!LINES){
- printf("Not enough memory!\n");
- exit(1);
+ if (settings.logfp) {
+ fprintf(settings.logfp, "seed %d\n", seedval);
}
- MAP2[1] = 0;
- if(!SETUP)initialise();
- if(SETUP > 0) goto L1;
-
-/* Unlike earlier versions, adventure is no longer restartable. (This
- * lets us get away with modifying things such as OBJSND(BIRD) without
- * having to be able to undo the changes later.) If a "used" copy is
- * rerun, we come here and tell the player to run a fresh copy. */
-
- RSPEAK(201);
- exit(0);
-
-/* Start-up, dwarf stuff */
-
-L1: SETUP= -1;
- I=RAN(-1);
- ZZWORD=RNDVOC(3,0)+MESH*2;
- NOVICE=YES(65,1,0);
- NEWLOC=1;
- LOC=1;
- LIMIT=330;
- if(NOVICE)LIMIT=1000;
-
-/* Can't leave cave once it's closing (except by main office). */
-
-L2: if(!OUTSID(NEWLOC) || NEWLOC == 0 || !CLOSNG) goto L71;
- RSPEAK(130);
- NEWLOC=LOC;
- if(!PANIC)CLOCK2=15;
- PANIC=true;
-
-/* See if a dwarf has seen him and has come from where he wants to go. If so,
- * the dwarf's blocking his way. If coming from place forbidden to pirate
- * (dwarves rooted in place) let him get out (and attacked). */
-
-L71: if(NEWLOC == LOC || FORCED(LOC) || CNDBIT(LOC,3)) goto L74;
- /* 73 */ for (I=1; I<=5; I++) {
- if(ODLOC[I] != NEWLOC || !DSEEN[I]) goto L73;
- NEWLOC=LOC;
- RSPEAK(2);
- goto L74;
-L73: /*etc*/ ;
- } /* end loop */
-L74: LOC=NEWLOC;
-
-/* Dwarf stuff. See earlier comments for description of variables. Remember
- * sixth dwarf is pirate and is thus very different except for motion rules. */
-
-/* First off, don't let the dwarves follow him into a pit or a wall. Activate
- * the whole mess the first time he gets as far as the hall of mists (loc 15).
- * If NEWLOC is forbidden to pirate (in particular, if it's beyond the troll
- * bridge), bypass dwarf stuff. That way pirate can't steal return toll, and
- * dwarves can't meet the bear. Also means dwarves won't follow him into dead
- * end in maze, but c'est la vie. They'll wait for him outside the dead end. */
-
- if(LOC == 0 || FORCED(LOC) || CNDBIT(NEWLOC,3)) goto L2000;
- if(DFLAG != 0) goto L6000;
- if(INDEEP(LOC))DFLAG=1;
- goto L2000;
-
-/* When we encounter the first dwarf, we kill 0, 1, or 2 of the 5 dwarves. If
- * any of the survivors is at loc, replace him with the alternate. */
-
-L6000: if(DFLAG != 1) goto L6010;
- if(!INDEEP(LOC) || (PCT(95) && (!CNDBIT(LOC,4) || PCT(85)))) goto L2000;
- DFLAG=2;
- for (I=1; I<=2; I++) {
- J=1+RAN(5);
- if(PCT(50))DLOC[J]=0;
- } /* end loop */
- for (I=1; I<=5; I++) {
- if(DLOC[I] == LOC)DLOC[I]=DALTLC;
- ODLOC[I]=DLOC[I];
- } /* end loop */
- RSPEAK(3);
- DROP(AXE,LOC);
- goto L2000;
-
-/* Things are in full swing. Move each dwarf at random, except if he's seen us
- * he sticks with us. Dwarves stay deep inside. If wandering at random,
- * they don't back up unless there's no alternative. If they don't have to
- * move, they attack. And, of course, dead dwarves don't do much of anything. */
-
-L6010: DTOTAL=0;
- ATTACK=0;
- STICK=0;
- /* 6030 */ for (I=1; I<=6; I++) {
- if(DLOC[I] == 0) goto L6030;
-/* Fill TK array with all the places this dwarf might go. */
- J=1;
- KK=DLOC[I];
- KK=KEY[KK];
- if(KK == 0) goto L6016;
-L6012: NEWLOC=MOD(IABS(TRAVEL[KK])/1000,1000);
- {long x = J-1;
- if(NEWLOC > 300 || !INDEEP(NEWLOC) || NEWLOC == ODLOC[I] || (J > 1 &&
- NEWLOC == TK[x]) || J >= 20 || NEWLOC == DLOC[I] ||
- FORCED(NEWLOC) || (I == 6 && CNDBIT(NEWLOC,3)) ||
- IABS(TRAVEL[KK])/1000000 == 100) goto L6014;}
- TK[J]=NEWLOC;
- J=J+1;
-L6014: KK=KK+1;
- {long x = KK-1; if(TRAVEL[x] >= 0) goto L6012;}
-L6016: TK[J]=ODLOC[I];
- if(J >= 2)J=J-1;
- J=1+RAN(J);
- ODLOC[I]=DLOC[I];
- DLOC[I]=TK[J];
- DSEEN[I]=(DSEEN[I] && INDEEP(LOC)) || (DLOC[I] == LOC || ODLOC[I] == LOC);
- if(!DSEEN[I]) goto L6030;
- DLOC[I]=LOC;
- if(I != 6) goto L6027;
-
-/* The pirate's spotted him. He leaves him alone once we've found chest. K
- * counts if a treasure is here. If not, and tally=1 for an unseen chest, let
- * the pirate be spotted. Note that PLACE(CHEST)=0 might mean that he's
- * thrown it to the troll, but in that case he's seen the chest (PROP=0). */
-
- if(LOC == CHLOC || PROP[CHEST] >= 0) goto L6030;
- K=0;
- /* 6020 */ for (J=50; J<=MAXTRS; J++) {
-/* Pirate won't take pyramid from plover room or dark room (too easy!). */
- if(J == PYRAM && (LOC == PLAC[PYRAM] || LOC == PLAC[EMRALD])) goto L6020;
- if(TOTING(J)) goto L6021;
-L6020: if(HERE(J))K=1;
- } /* end loop */
- if(TALLY == 1 && K == 0 && PLACE[CHEST] == 0 && HERE(LAMP) && PROP[LAMP]
- == 1) goto L6025;
- if(ODLOC[6] != DLOC[6] && PCT(20))RSPEAK(127);
- goto L6030;
-
-L6021: if(PLACE[CHEST] != 0) goto L6022;
-/* Install chest only once, to insure it is the last treasure in the list. */
- MOVE(CHEST,CHLOC);
- MOVE(MESSAG,CHLOC2);
-L6022: RSPEAK(128);
- /* 6023 */ for (J=50; J<=MAXTRS; J++) {
- if(J == PYRAM && (LOC == PLAC[PYRAM] || LOC == PLAC[EMRALD])) goto L6023;
- if(AT(J) && FIXED[J] == 0)CARRY(J,LOC);
- if(TOTING(J))DROP(J,CHLOC);
-L6023: /*etc*/ ;
- } /* end loop */
-L6024: DLOC[6]=CHLOC;
- ODLOC[6]=CHLOC;
- DSEEN[6]=false;
- goto L6030;
-
-L6025: RSPEAK(186);
- MOVE(CHEST,CHLOC);
- MOVE(MESSAG,CHLOC2);
- goto L6024;
-
-/* This threatening little dwarf is in the room with him! */
-
-L6027: DTOTAL=DTOTAL+1;
- if(ODLOC[I] != DLOC[I]) goto L6030;
- ATTACK=ATTACK+1;
- if(KNFLOC >= 0)KNFLOC=LOC;
- if(RAN(1000) < 95*(DFLAG-2))STICK=STICK+1;
-L6030: /*etc*/ ;
- } /* end loop */
-
-/* Now we know what's happening. Let's tell the poor sucker about it.
- * Note that various of the "knife" messages must have specific relative
- * positions in the RSPEAK database. */
-
- if(DTOTAL == 0) goto L2000;
- SETPRM(1,DTOTAL,0);
- RSPEAK(4+1/DTOTAL);
- if(ATTACK == 0) goto L2000;
- if(DFLAG == 2)DFLAG=3;
- SETPRM(1,ATTACK,0);
- K=6;
- if(ATTACK > 1)K=250;
- RSPEAK(K);
- SETPRM(1,STICK,0);
- RSPEAK(K+1+2/(1+STICK));
- if(STICK == 0) goto L2000;
- OLDLC2=LOC;
- goto L99;
-
-
-
-
-
-
-/* Describe the current location and (maybe) get next command. */
-
-/* Print text for current loc. */
-
-L2000: if(LOC == 0) goto L99;
- KK=STEXT[LOC];
- if(MOD(ABB[LOC],ABBNUM) == 0 || KK == 0)KK=LTEXT[LOC];
- if(FORCED(LOC) || !DARK(0)) goto L2001;
- if(WZDARK && PCT(35)) goto L90;
- KK=RTEXT[16];
-L2001: if(TOTING(BEAR))RSPEAK(141);
- SPEAK(KK);
- K=1;
- if(FORCED(LOC)) goto L8;
- if(LOC == 33 && PCT(25) && !CLOSNG)RSPEAK(7);
-
-/* Print out descriptions of objects at this location. If not closing and
- * property value is negative, tally off another treasure. Rug is special
- * case; once seen, its PROP is 1 (dragon on it) till dragon is killed.
- * Similarly for chain; PROP is initially 1 (locked to bear). These hacks
- * are because PROP=0 is needed to get full score. */
-
- if(DARK(0)) goto L2012;
- ABB[LOC]=ABB[LOC]+1;
- I=ATLOC[LOC];
-L2004: if(I == 0) goto L2012;
- OBJ=I;
- if(OBJ > 100)OBJ=OBJ-100;
- if(OBJ == STEPS && TOTING(NUGGET)) goto L2008;
- if(PROP[OBJ] >= 0) goto L2006;
- if(CLOSED) goto L2008;
- PROP[OBJ]=0;
- if(OBJ == RUG || OBJ == CHAIN)PROP[OBJ]=1;
- TALLY=TALLY-1;
-/* Note: There used to be a test here to see whether the player had blown it
- * so badly that he could never ever see the remaining treasures, and if so
- * the lamp was zapped to 35 turns. But the tests were too simple-minded;
- * things like killing the bird before the snake was gone (can never see
- * jewelry), and doing it "right" was hopeless. E.G., could cross troll
- * bridge several times, using up all available treasures, breaking vase,
- * using coins to buy batteries, etc., and eventually never be able to get
- * across again. If bottle were left on far side, could then never get eggs
- * or trident, and the effects propagate. So the whole thing was flushed.
- * anyone who makes such a gross blunder isn't likely to find everything
- * else anyway (so goes the rationalisation). */
-L2006: KK=PROP[OBJ];
- if(OBJ == STEPS && LOC == FIXED[STEPS])KK=1;
- PSPEAK(OBJ,KK);
-L2008: I=LINK[I];
- goto L2004;
-
-L2009: K=54;
-L2010: SPK=K;
-L2011: RSPEAK(SPK);
-
-L2012: VERB=0;
- OLDOBJ=OBJ;
- OBJ=0;
-
-/* Check if this loc is eligible for any hints. If been here long enough,
- * branch to help section (on later page). Hints all come back here eventually
- * to finish the loop. Ignore "HINTS" < 4 (special stuff, see database notes).
- */
-
-L2600: if(COND[LOC] < CONDS) goto L2603;
- /* 2602 */ for (HINT=1; HINT<=HNTMAX; HINT++) {
- if(HINTED[HINT]) goto L2602;
- if(!CNDBIT(LOC,HINT+10))HINTLC[HINT]= -1;
- HINTLC[HINT]=HINTLC[HINT]+1;
- if(HINTLC[HINT] >= HINTS[HINT][1]) goto L40000;
-L2602: /*etc*/ ;
- } /* end loop */
-
-/* Kick the random number generator just to add variety to the chase. Also,
- * if closing time, check for any objects being toted with PROP < 0 and set
- * the prop to -1-PROP. This way objects won't be described until they've
- * been picked up and put down separate from their respective piles. Don't
- * tick CLOCK1 unless well into cave (and not at Y2). */
-
-L2603: if(!CLOSED) goto L2605;
- if(PROP[OYSTER] < 0 && TOTING(OYSTER))PSPEAK(OYSTER,1);
- for (I=1; I<=100; I++) {
- if(TOTING(I) && PROP[I] < 0)PROP[I]= -1-PROP[I];
- } /* end loop */
-L2605: WZDARK=DARK(0);
- if(KNFLOC > 0 && KNFLOC != LOC)KNFLOC=0;
- I=RAN(1);
- GETIN(WD1,WD1X,WD2,WD2X);
-
-/* Every input, check "FOOBAR" flag. If zero, nothing's going on. If pos,
- * make neg. If neg, he skipped a word, so make it zero. */
-
-L2607: FOOBAR=(FOOBAR>0 ? -FOOBAR : 0);
- TURNS=TURNS+1;
- if(TURNS != THRESH) goto L2608;
- SPEAK(TTEXT[TRNDEX]);
- TRNLUZ=TRNLUZ+TRNVAL[TRNDEX]/100000;
- TRNDEX=TRNDEX+1;
- THRESH= -1;
- if(TRNDEX <= TRNVLS)THRESH=MOD(TRNVAL[TRNDEX],100000)+1;
-L2608: if(VERB == SAY && WD2 > 0)VERB=0;
- if(VERB == SAY) goto L4090;
- if(TALLY == 0 && INDEEP(LOC) && LOC != 33)CLOCK1=CLOCK1-1;
- if(CLOCK1 == 0) goto L10000;
- if(CLOCK1 < 0)CLOCK2=CLOCK2-1;
- if(CLOCK2 == 0) goto L11000;
- if(PROP[LAMP] == 1)LIMIT=LIMIT-1;
- if(LIMIT <= 30 && HERE(BATTER) && PROP[BATTER] == 0 && HERE(LAMP)) goto
- L12000;
- if(LIMIT == 0) goto L12400;
- if(LIMIT <= 30) goto L12200;
-L19999: K=43;
- if(LIQLOC(LOC) == WATER)K=70;
- V1=VOCAB(WD1,-1);
- V2=VOCAB(WD2,-1);
- if(V1 == ENTER && (V2 == STREAM || V2 == 1000+WATER)) goto L2010;
- if(V1 == ENTER && WD2 > 0) goto L2800;
- if((V1 != 1000+WATER && V1 != 1000+OIL) || (V2 != 1000+PLANT && V2 !=
- 1000+DOOR)) goto L2610;
- {long x = V2-1000; if(AT(x))WD2=MAKEWD(16152118);}
-L2610: if(V1 == 1000+CAGE && V2 == 1000+BIRD && HERE(CAGE) &&
- HERE(BIRD))WD1=MAKEWD(301200308);
-L2620: if(WD1 != MAKEWD(23051920)) goto L2625;
- IWEST=IWEST+1;
- if(IWEST == 10)RSPEAK(17);
-L2625: if(WD1 != MAKEWD( 715) || WD2 == 0) goto L2630;
- IGO=IGO+1;
- if(IGO == 10)RSPEAK(276);
-L2630: I=VOCAB(WD1,-1);
- if(I == -1) goto L3000;
- K=MOD(I,1000);
- KQ=I/1000+1;
- switch (KQ-1) { case 0: goto L8; case 1: goto L5000; case 2: goto L4000;
- case 3: goto L2010; }
- BUG(22);
-
-/* Get second word for analysis. */
-
-L2800: WD1=WD2;
- WD1X=WD2X;
- WD2=0;
- goto L2620;
-
-/* Gee, I don't understand. */
-
-L3000: SETPRM(1,WD1,WD1X);
- RSPEAK(254);
- goto L2600;
-
-/* Verb and object analysis moved to separate module. */
-
-L4000: I=4000; goto Laction;
-L4090: I=4090; goto Laction;
-L5000: I=5000;
-Laction:
- switch (action(I)) {
- case 2: goto L2;
- case 8: goto L8;
- case 2000: goto L2000;
- case 2009: goto L2009;
- case 2010: goto L2010;
- case 2011: goto L2011;
- case 2012: goto L2012;
- case 2600: goto L2600;
- case 2607: goto L2607;
- case 2630: goto L2630;
- case 2800: goto L2800;
- case 8000: goto L8000;
- case 18999: goto L18999;
- case 19000: goto L19000;
- }
- BUG(99);
-
-/* Random intransitive verbs come here. Clear obj just in case (see "attack").
- */
-
-L8000: SETPRM(1,WD1,WD1X);
- RSPEAK(257);
- OBJ=0;
- goto L2600;
-
-/* Figure out the new location
- *
- * Given the current location in "LOC", and a motion verb number in "K", put
- * the new location in "NEWLOC". The current loc is saved in "OLDLOC" in case
- * he wants to retreat. The current OLDLOC is saved in OLDLC2, in case he
- * dies. (if he does, NEWLOC will be limbo, and OLDLOC will be what killed
- * him, so we need OLDLC2, which is the last place he was safe.) */
-
-L8: KK=KEY[LOC];
- NEWLOC=LOC;
- if(KK == 0)BUG(26);
- if(K == NUL) goto L2;
- if(K == BACK) goto L20;
- if(K == LOOK) goto L30;
- if(K == CAVE) goto L40;
- OLDLC2=OLDLOC;
- OLDLOC=LOC;
-
-L9: LL=IABS(TRAVEL[KK]);
- if(MOD(LL,1000) == 1 || MOD(LL,1000) == K) goto L10;
- if(TRAVEL[KK] < 0) goto L50;
- KK=KK+1;
- goto L9;
-
-L10: LL=LL/1000;
-L11: NEWLOC=LL/1000;
- K=MOD(NEWLOC,100);
- if(NEWLOC <= 300) goto L13;
- if(PROP[K] != NEWLOC/100-3) goto L16;
-L12: if(TRAVEL[KK] < 0)BUG(25);
- KK=KK+1;
- NEWLOC=IABS(TRAVEL[KK])/1000;
- if(NEWLOC == LL) goto L12;
- LL=NEWLOC;
- goto L11;
-
-L13: if(NEWLOC <= 100) goto L14;
- if(TOTING(K) || (NEWLOC > 200 && AT(K))) goto L16;
- goto L12;
-
-L14: if(NEWLOC != 0 && !PCT(NEWLOC)) goto L12;
-L16: NEWLOC=MOD(LL,1000);
- if(NEWLOC <= 300) goto L2;
- if(NEWLOC <= 500) goto L30000;
- RSPEAK(NEWLOC-500);
- NEWLOC=LOC;
- goto L2;
-
-/* Special motions come here. Labelling convention: statement numbers NNNXX
- * (XX=00-99) are used for special case number NNN (NNN=301-500). */
-
-L30000: NEWLOC=NEWLOC-300;
- switch (NEWLOC) { case 1: goto L30100; case 2: goto L30200; case 3: goto
- L30300; }
- BUG(20);
-
-/* Travel 301. Plover-alcove passage. Can carry only emerald. Note: travel
- * table must include "useless" entries going through passage, which can never
- * be used for actual motion, but can be spotted by "go back". */
-
-L30100: NEWLOC=99+100-LOC;
- if(HOLDNG == 0 || (HOLDNG == 1 && TOTING(EMRALD))) goto L2;
- NEWLOC=LOC;
- RSPEAK(117);
- goto L2;
-
-/* Travel 302. Plover transport. Drop the emerald (only use special travel if
- * toting it), so he's forced to use the plover-passage to get it out. Having
- * dropped it, go back and pretend he wasn't carrying it after all. */
-
-L30200: DROP(EMRALD,LOC);
- goto L12;
-
-/* Travel 303. Troll bridge. Must be done only as special motion so that
- * dwarves won't wander across and encounter the bear. (They won't follow the
- * player there because that region is forbidden to the pirate.) If
- * PROP(TROLL)=1, he's crossed since paying, so step out and block him.
- * (standard travel entries check for PROP(TROLL)=0.) Special stuff for bear. */
-
-L30300: if(PROP[TROLL] != 1) goto L30310;
- PSPEAK(TROLL,1);
- PROP[TROLL]=0;
- MOVE(TROLL2,0);
- MOVE(TROLL2+100,0);
- MOVE(TROLL,PLAC[TROLL]);
- MOVE(TROLL+100,FIXD[TROLL]);
- JUGGLE(CHASM);
- NEWLOC=LOC;
- goto L2;
-
-L30310: NEWLOC=PLAC[TROLL]+FIXD[TROLL]-LOC;
- if(PROP[TROLL] == 0)PROP[TROLL]=1;
- if(!TOTING(BEAR)) goto L2;
- RSPEAK(162);
- PROP[CHASM]=1;
- PROP[TROLL]=2;
- DROP(BEAR,NEWLOC);
- FIXED[BEAR]= -1;
- PROP[BEAR]=3;
- OLDLC2=NEWLOC;
- goto L99;
-
-/* End of specials. */
-
-/* Handle "go back". Look for verb which goes from LOC to OLDLOC, or to OLDLC2
- * If OLDLOC has forced-motion. K2 saves entry -> forced loc -> previous loc. */
-
-L20: K=OLDLOC;
- if(FORCED(K))K=OLDLC2;
- OLDLC2=OLDLOC;
- OLDLOC=LOC;
- K2=0;
- if(K == LOC)K2=91;
- if(CNDBIT(LOC,4))K2=274;
- if(K2 == 0) goto L21;
- RSPEAK(K2);
- goto L2;
-
-L21: LL=MOD((IABS(TRAVEL[KK])/1000),1000);
- if(LL == K) goto L25;
- if(LL > 300) goto L22;
- J=KEY[LL];
- if(FORCED(LL) && MOD((IABS(TRAVEL[J])/1000),1000) == K)K2=KK;
-L22: if(TRAVEL[KK] < 0) goto L23;
- KK=KK+1;
- goto L21;
-
-L23: KK=K2;
- if(KK != 0) goto L25;
- RSPEAK(140);
- goto L2;
-
-L25: K=MOD(IABS(TRAVEL[KK]),1000);
- KK=KEY[LOC];
- goto L9;
-
-/* Look. Can't give more detail. Pretend it wasn't dark (though it may "now"
- * be dark) so he won't fall into a pit while staring into the gloom. */
-
-L30: if(DETAIL < 3)RSPEAK(15);
- DETAIL=DETAIL+1;
- WZDARK=false;
- ABB[LOC]=0;
- goto L2;
-
-/* Cave. Different messages depending on whether above ground. */
-
-L40: K=58;
- if(OUTSID(LOC) && LOC != 8)K=57;
- RSPEAK(K);
- goto L2;
-
-/* Non-applicable motion. Various messages depending on word given. */
-
-L50: SPK=12;
- if(K >= 43 && K <= 50)SPK=52;
- if(K == 29 || K == 30)SPK=52;
- if(K == 7 || K == 36 || K == 37)SPK=10;
- if(K == 11 || K == 19)SPK=11;
- if(VERB == FIND || VERB == INVENT)SPK=59;
- if(K == 62 || K == 65)SPK=42;
- if(K == 17)SPK=80;
- RSPEAK(SPK);
- goto L2;
-
-
-
-
-
-/* "You're dead, Jim."
- *
- * If the current loc is zero, it means the clown got himself killed. We'll
- * allow this maxdie times. MAXDIE is automatically set based on the number of
- * snide messages available. Each death results in a message (81, 83, etc.)
- * which offers reincarnation; if accepted, this results in message 82, 84,
- * etc. The last time, if he wants another chance, he gets a snide remark as
- * we exit. When reincarnated, all objects being carried get dropped at OLDLC2
- * (presumably the last place prior to being killed) without change of props.
- * the loop runs backwards to assure that the bird is dropped before the cage.
- * (this kluge could be changed once we're sure all references to bird and cage
- * are done by keywords.) The lamp is a special case (it wouldn't do to leave
- * it in the cave). It is turned off and left outside the building (only if he
- * was carrying it, of course). He himself is left inside the building (and
- * heaven help him if he tries to xyzzy back into the cave without the lamp!).
- * OLDLOC is zapped so he can't just "retreat". */
-
-/* The easiest way to get killed is to fall into a pit in pitch darkness. */
-
-L90: RSPEAK(23);
- OLDLC2=LOC;
-
-/* Okay, he's dead. Let's get on with it. */
-
-L99: if(CLOSNG) goto L95;
- NUMDIE=NUMDIE+1;
- if(!YES(79+NUMDIE*2,80+NUMDIE*2,54)) score(0);
- if(NUMDIE == MAXDIE) score(0);
- PLACE[WATER]=0;
- PLACE[OIL]=0;
- if(TOTING(LAMP))PROP[LAMP]=0;
- /* 98 */ for (J=1; J<=100; J++) {
- I=101-J;
- if(!TOTING(I)) goto L98;
- K=OLDLC2;
- if(I == LAMP)K=1;
- DROP(I,K);
-L98: /*etc*/ ;
- } /* end loop */
- LOC=3;
- OLDLOC=LOC;
- goto L2000;
-
-/* He died during closing time. No resurrection. Tally up a death and exit. */
-
-L95: RSPEAK(131);
- NUMDIE=NUMDIE+1;
- score(0);
-
-
-
-
-/* Hints */
-
-/* Come here if he's been long enough at required loc(s) for some unused hint.
- * hint number is in variable "hint". Branch to quick test for additional
- * conditions, then come back to do neat stuff. Goto 40010 if conditions are
- * met and we want to offer the hint. Goto 40020 to clear HINTLC back to zero,
- * 40030 to take no action yet. */
-
-L40000: switch (HINT-1) { case 0: goto L40100; case 1: goto L40200; case 2: goto
- L40300; case 3: goto L40400; case 4: goto L40500; case 5: goto
- L40600; case 6: goto L40700; case 7: goto L40800; case 8: goto
- L40900; case 9: goto L41000; }
-/* CAVE BIRD SNAKE MAZE DARK WITT URN WOODS OGRE
- * JADE */
- BUG(27);
-
-L40010: HINTLC[HINT]=0;
- if(!YES(HINTS[HINT][3],0,54)) goto L2602;
- SETPRM(1,HINTS[HINT][2],HINTS[HINT][2]);
- RSPEAK(261);
- HINTED[HINT]=YES(175,HINTS[HINT][4],54);
- if(HINTED[HINT] && LIMIT > 30)LIMIT=LIMIT+30*HINTS[HINT][2];
-L40020: HINTLC[HINT]=0;
-L40030: goto L2602;
-
-/* Now for the quick tests. See database description for one-line notes. */
-
-L40100: if(PROP[GRATE] == 0 && !HERE(KEYS)) goto L40010;
- goto L40020;
-
-L40200: if(PLACE[BIRD] == LOC && TOTING(ROD) && OLDOBJ == BIRD) goto L40010;
- goto L40030;
-
-L40300: if(HERE(SNAKE) && !HERE(BIRD)) goto L40010;
- goto L40020;
-
-L40400: if(ATLOC[LOC] == 0 && ATLOC[OLDLOC] == 0 && ATLOC[OLDLC2] == 0 && HOLDNG >
- 1) goto L40010;
- goto L40020;
-
-L40500: if(PROP[EMRALD] != -1 && PROP[PYRAM] == -1) goto L40010;
- goto L40020;
-
-L40600: goto L40010;
-
-L40700: if(DFLAG == 0) goto L40010;
- goto L40020;
-
-L40800: if(ATLOC[LOC] == 0 && ATLOC[OLDLOC] == 0 && ATLOC[OLDLC2] == 0) goto
- L40010;
- goto L40030;
-
-L40900: I=ATDWRF(LOC);
- if(I < 0) goto L40020;
- if(HERE(OGRE) && I == 0) goto L40010;
- goto L40030;
-
-L41000: if(TALLY == 1 && PROP[JADE] < 0) goto L40010;
- goto L40020;
-
-
-
-
-
-/* Cave closing and scoring */
-
-
-/* These sections handle the closing of the cave. The cave closes "CLOCK1"
- * turns after the last treasure has been located (including the pirate's
- * chest, which may of course never show up). Note that the treasures need not
- * have been taken yet, just located. Hence CLOCK1 must be large enough to get
- * out of the cave (it only ticks while inside the cave). When it hits zero,
- * we branch to 10000 to start closing the cave, and then sit back and wait for
- * him to try to get out. If he doesn't within CLOCK2 turns, we close the
- * cave; if he does try, we assume he panics, and give him a few additional
- * turns to get frantic before we close. When CLOCK2 hits zero, we branch to
- * 11000 to transport him into the final puzzle. Note that the puzzle depends
- * upon all sorts of random things. For instance, there must be no water or
- * oil, since there are beanstalks which we don't want to be able to water,
- * since the code can't handle it. Also, we can have no keys, since there is a
- * grate (having moved the fixed object!) there separating him from all the
- * treasures. Most of these problems arise from the use of negative prop
- * numbers to suppress the object descriptions until he's actually moved the
- * objects. */
-
-/* When the first warning comes, we lock the grate, destroy the bridge, kill
- * all the dwarves (and the pirate), remove the troll and bear (unless dead),
- * and set "CLOSNG" to true. Leave the dragon; too much trouble to move it.
- * from now until CLOCK2 runs out, he cannot unlock the grate, move to any
- * location outside the cave, or create the bridge. Nor can he be
- * resurrected if he dies. Note that the snake is already gone, since he got
- * to the treasure accessible only via the hall of the mountain king. Also, he's
- * been in giant room (to get eggs), so we can refer to it. Also also, he's
- * gotten the pearl, so we know the bivalve is an oyster. *And*, the dwarves
- * must have been activated, since we've found chest. */
-
-L10000: PROP[GRATE]=0;
- PROP[FISSUR]=0;
- for (I=1; I<=6; I++) {
- DSEEN[I]=false;
- DLOC[I]=0;
- } /* end loop */
- MOVE(TROLL,0);
- MOVE(TROLL+100,0);
- MOVE(TROLL2,PLAC[TROLL]);
- MOVE(TROLL2+100,FIXD[TROLL]);
- JUGGLE(CHASM);
- if(PROP[BEAR] != 3)DSTROY(BEAR);
- PROP[CHAIN]=0;
- FIXED[CHAIN]=0;
- PROP[AXE]=0;
- FIXED[AXE]=0;
- RSPEAK(129);
- CLOCK1= -1;
- CLOSNG=true;
- goto L19999;
-
-/* ONCE HE'S PANICKED, AND CLOCK2 HAS RUN OUT, WE COME HERE TO SET UP THE
- * STORAGE ROOM. THE ROOM HAS TWO LOCS, HARDWIRED AS 115 (NE) AND 116 (SW).
- * AT THE NE END, WE PLACE EMPTY BOTTLES, A NURSERY OF PLANTS, A BED OF
- * OYSTERS, A PILE OF LAMPS, RODS WITH STARS, SLEEPING DWARVES, AND HIM. AT
- * THE SW END WE PLACE GRATE OVER TREASURES, SNAKE PIT, COVEY OF CAGED BIRDS,
- * MORE RODS, AND PILLOWS. A MIRROR STRETCHES ACROSS ONE WALL. MANY OF THE
- * OBJECTS COME FROM KNOWN LOCATIONS AND/OR STATES (E.G. THE SNAKE IS KNOWN TO
- * HAVE BEEN DESTROYED AND NEEDN'T BE CARRIED AWAY FROM ITS OLD "PLACE"),
- * MAKING THE VARIOUS OBJECTS BE HANDLED DIFFERENTLY. WE ALSO DROP ALL OTHER
- * OBJECTS HE MIGHT BE CARRYING (LEST HE HAVE SOME WHICH COULD CAUSE TROUBLE,
- * SUCH AS THE KEYS). WE DESCRIBE THE FLASH OF LIGHT AND TRUNDLE BACK. */
-
-L11000: PROP[BOTTLE]=PUT(BOTTLE,115,1);
- PROP[PLANT]=PUT(PLANT,115,0);
- PROP[OYSTER]=PUT(OYSTER,115,0);
- OBJTXT[OYSTER]=3;
- PROP[LAMP]=PUT(LAMP,115,0);
- PROP[ROD]=PUT(ROD,115,0);
- PROP[DWARF]=PUT(DWARF,115,0);
- LOC=115;
- OLDLOC=115;
- NEWLOC=115;
-
-/* Leave the grate with normal (non-negative) property. Reuse sign. */
-
- I=PUT(GRATE,116,0);
- I=PUT(SIGN,116,0);
- OBJTXT[SIGN]=OBJTXT[SIGN]+1;
- PROP[SNAKE]=PUT(SNAKE,116,1);
- PROP[BIRD]=PUT(BIRD,116,1);
- PROP[CAGE]=PUT(CAGE,116,0);
- PROP[ROD2]=PUT(ROD2,116,0);
- PROP[PILLOW]=PUT(PILLOW,116,0);
-
- PROP[MIRROR]=PUT(MIRROR,115,0);
- FIXED[MIRROR]=116;
-
- for (I=1; I<=100; I++) {
- if(TOTING(I))DSTROY(I);
- } /* end loop */
-
- RSPEAK(132);
- CLOSED=true;
- goto L2;
-
-/* Another way we can force an end to things is by having the lamp give out.
- * When it gets close, we come here to warn him. We go to 12000 if the lamp
- * and fresh batteries are here, in which case we replace the batteries and
- * continue. 12200 is for other cases of lamp dying. 12400 is when it goes
- * out. Even then, he can explore outside for a while if desired. */
-
-L12000: RSPEAK(188);
- PROP[BATTER]=1;
- if(TOTING(BATTER))DROP(BATTER,LOC);
- LIMIT=LIMIT+2500;
- LMWARN=false;
- goto L19999;
-
-L12200: if(LMWARN || !HERE(LAMP)) goto L19999;
- LMWARN=true;
- SPK=187;
- if(PLACE[BATTER] == 0)SPK=183;
- if(PROP[BATTER] == 1)SPK=189;
- RSPEAK(SPK);
- goto L19999;
-
-L12400: LIMIT= -1;
- PROP[LAMP]=0;
- if(HERE(LAMP))RSPEAK(184);
- goto L19999;
-
-/* Oh dear, he's disturbed the dwarves. */
-
-L18999: RSPEAK(SPK);
-L19000: RSPEAK(136);
- score(0);
+ /* interpret commands until EOF or interrupt */
+ for (;;) {
+ // if we're supposed to move, move
+ if (!do_move()) {
+ continue;
+ }
+
+ // get command
+ if (!do_command()) {
+ break;
+ }
+ }
+ /* show score and exit */
+ terminate(quitgame);
}
+
+/* end */
diff --git a/main.h b/main.h
deleted file mode 100644
index fa87d62..0000000
--- a/main.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#include
-
-#define LINESIZE 100
-
-extern long ABB[], ATAB[], ATLOC[], BLKLIN, DFLAG, DLOC[], FIXED[], HOLDNG,
- KTAB[], *LINES, LINK[], LNLENG, LNPOSN,
- PARMS[], PLACE[], PTEXT[], RTEXT[], TABSIZ;
-extern signed char INLINE[LINESIZE+1], MAP1[], MAP2[];
-extern FILE *logfp;
-extern bool oldstyle;
diff --git a/make_dungeon.py b/make_dungeon.py
new file mode 100755
index 0000000..8d7f719
--- /dev/null
+++ b/make_dungeon.py
@@ -0,0 +1,663 @@
+#!/usr/bin/env python3
+# SPDX-FileCopyrightText: (C) Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+"""
+This is the open-adventure dungeon generator. It consumes a YAML description of
+the dungeon and outputs a dungeon.h and dungeon.c pair of C code files.
+
+The nontrivial part of this is the compilation of the YAML for
+movement rules to the travel array that's actually used by
+playermove().
+"""
+
+# pylint: disable=consider-using-f-string,line-too-long,invalid-name,missing-function-docstring,too-many-branches,global-statement,multiple-imports,too-many-locals,too-many-statements,too-many-nested-blocks,no-else-return,raise-missing-from,redefined-outer-name
+
+import sys, yaml
+
+YAML_NAME = "adventure.yaml"
+H_NAME = "dungeon.h"
+C_NAME = "dungeon.c"
+H_TEMPLATE_PATH = "templates/dungeon.h.tpl"
+C_TEMPLATE_PATH = "templates/dungeon.c.tpl"
+
+DONOTEDIT_COMMENT = "/* Generated from adventure.yaml - do not hand-hack! */\n\n"
+
+statedefines = ""
+
+
+def make_c_string(string):
+ """Render a Python string into C string literal format."""
+ if string is None:
+ return "NULL"
+ string = string.replace("\n", "\\n")
+ string = string.replace("\t", "\\t")
+ string = string.replace('"', '\\"')
+ string = string.replace("'", "\\'")
+ string = '"' + string + '"'
+ return string
+
+
+def get_refs(l):
+ reflist = [x[0] for x in l]
+ ref_str = ""
+ for ref in reflist:
+ ref_str += " {},\n".format(ref)
+ ref_str = ref_str[:-1] # trim trailing newline
+ return ref_str
+
+
+def get_string_group(strings):
+ template = """{{
+ .strs = {},
+ .n = {},
+ }}"""
+ if strings == []:
+ strs = "NULL"
+ else:
+ strs = (
+ "(const char* []) {" + ", ".join([make_c_string(s) for s in strings]) + "}"
+ )
+ n = len(strings)
+ sg_str = template.format(strs, n)
+ return sg_str
+
+
+def get_arbitrary_messages(arb):
+ template = """ {},
+"""
+ arb_str = ""
+ for item in arb:
+ arb_str += template.format(make_c_string(item[1]))
+ arb_str = arb_str[:-1] # trim trailing newline
+ return arb_str
+
+
+def get_class_messages(cls):
+ template = """ {{
+ .threshold = {},
+ .message = {},
+ }},
+"""
+ cls_str = ""
+ for item in cls:
+ threshold = item["threshold"]
+ message = make_c_string(item["message"])
+ cls_str += template.format(threshold, message)
+ cls_str = cls_str[:-1] # trim trailing newline
+ return cls_str
+
+
+def get_turn_thresholds(trn):
+ template = """ {{
+ .threshold = {},
+ .point_loss = {},
+ .message = {},
+ }},
+"""
+ trn_str = ""
+ for item in trn:
+ threshold = item["threshold"]
+ point_loss = item["point_loss"]
+ message = make_c_string(item["message"])
+ trn_str += template.format(threshold, point_loss, message)
+ trn_str = trn_str[:-1] # trim trailing newline
+ return trn_str
+
+
+def get_locations(loc):
+ template = """ {{ // {}: {}
+ .description = {{
+ .small = {},
+ .big = {},
+ }},
+ .sound = {},
+ .loud = {},
+ }},
+"""
+ loc_str = ""
+ for (i, item) in enumerate(loc):
+ short_d = make_c_string(item[1]["description"]["short"])
+ long_d = make_c_string(item[1]["description"]["long"])
+ sound = item[1].get("sound", "SILENT")
+ loud = "true" if item[1].get("loud") else "false"
+ loc_str += template.format(i, item[0], short_d, long_d, sound, loud)
+ loc_str = loc_str[:-1] # trim trailing newline
+ return loc_str
+
+
+def get_objects(obj):
+ template = """ {{ // {}: {}
+ .words = {},
+ .inventory = {},
+ .plac = {},
+ .fixd = {},
+ .is_treasure = {},
+ .descriptions = (const char* []) {{
+{}
+ }},
+ .sounds = (const char* []) {{
+{}
+ }},
+ .texts = (const char* []) {{
+{}
+ }},
+ .changes = (const char* []) {{
+{}
+ }},
+ }},
+"""
+ max_state = 0
+ obj_str = ""
+ for (i, item) in enumerate(obj):
+ attr = item[1]
+ try:
+ words_str = get_string_group(attr["words"])
+ except KeyError:
+ words_str = get_string_group([])
+ i_msg = make_c_string(attr["inventory"])
+ descriptions_str = ""
+ if attr["descriptions"] is None:
+ descriptions_str = " " * 12 + "NULL,"
+ else:
+ labels = []
+ for l_msg in attr["descriptions"]:
+ descriptions_str += " " * 12 + make_c_string(l_msg) + ",\n"
+ for label in attr.get("states", []):
+ labels.append(label)
+ descriptions_str = descriptions_str[:-1] # trim trailing newline
+ if labels:
+ global statedefines
+ statedefines += "/* States for %s */\n" % item[0]
+ for (n, label) in enumerate(labels):
+ statedefines += "#define %s\t%d\n" % (label, n)
+ max_state = max(max_state, n)
+ statedefines += "\n"
+ sounds_str = ""
+ if attr.get("sounds") is None:
+ sounds_str = " " * 12 + "NULL,"
+ else:
+ for l_msg in attr["sounds"]:
+ sounds_str += " " * 12 + make_c_string(l_msg) + ",\n"
+ sounds_str = sounds_str[:-1] # trim trailing newline
+ texts_str = ""
+ if attr.get("texts") is None:
+ texts_str = " " * 12 + "NULL,"
+ else:
+ for l_msg in attr["texts"]:
+ texts_str += " " * 12 + make_c_string(l_msg) + ",\n"
+ texts_str = texts_str[:-1] # trim trailing newline
+ changes_str = ""
+ if attr.get("changes") is None:
+ changes_str = " " * 12 + "NULL,"
+ else:
+ for l_msg in attr["changes"]:
+ changes_str += " " * 12 + make_c_string(l_msg) + ",\n"
+ changes_str = changes_str[:-1] # trim trailing newline
+ locs = attr.get("locations", ["LOC_NOWHERE", "LOC_NOWHERE"])
+ immovable = attr.get("immovable", False)
+ try:
+ if isinstance(locs, str):
+ locs = [locs, -1 if immovable else 0]
+ except IndexError:
+ sys.stderr.write("dungeon: unknown object location in %s\n" % locs)
+ sys.exit(1)
+ treasure = "true" if attr.get("treasure") else "false"
+ obj_str += template.format(
+ i,
+ item[0],
+ words_str,
+ i_msg,
+ locs[0],
+ locs[1],
+ treasure,
+ descriptions_str,
+ sounds_str,
+ texts_str,
+ changes_str,
+ )
+ obj_str = obj_str[:-1] # trim trailing newline
+ statedefines += "/* Maximum state value */\n#define MAX_STATE %d\n" % max_state
+ return obj_str
+
+
+def get_obituaries(obit):
+ template = """ {{
+ .query = {},
+ .yes_response = {},
+ }},
+"""
+ obit_str = ""
+ for o in obit:
+ query = make_c_string(o["query"])
+ yes = make_c_string(o["yes_response"])
+ obit_str += template.format(query, yes)
+ obit_str = obit_str[:-1] # trim trailing newline
+ return obit_str
+
+
+def get_hints(hnt):
+ template = """ {{
+ .number = {},
+ .penalty = {},
+ .turns = {},
+ .question = {},
+ .hint = {},
+ }},
+"""
+ hnt_str = ""
+ for member in hnt:
+ item = member["hint"]
+ number = item["number"]
+ penalty = item["penalty"]
+ turns = item["turns"]
+ question = make_c_string(item["question"])
+ hint = make_c_string(item["hint"])
+ hnt_str += template.format(number, penalty, turns, question, hint)
+ hnt_str = hnt_str[:-1] # trim trailing newline
+ return hnt_str
+
+
+def get_condbits(locations):
+ cnd_str = ""
+ for (name, loc) in locations:
+ conditions = loc["conditions"]
+ hints = loc.get("hints") or []
+ flaglist = []
+ for flag in conditions:
+ if conditions[flag]:
+ flaglist.append(flag)
+ line = "|".join([("(1<500 message N-500 from section 6 is printed,
+ # and he stays wherever he is.
+ # Meanwhile, M specifies the conditions on the motion.
+ # If M=0 it's unconditional.
+ # If 0 500:
+ desttype = "dest_speak"
+ destval = msgnames[dest - 500]
+ else:
+ desttype = "dest_special"
+ destval = locnames[dest - 300]
+ travel.append(
+ [
+ len(tkey) - 1,
+ locnames[len(tkey) - 1],
+ rule.pop(0),
+ condtype,
+ condarg1,
+ condarg2,
+ desttype,
+ destval,
+ "true" if nodwarves else "false",
+ "false",
+ ]
+ )
+ travel[-1][-1] = "true"
+ return (travel, tkey)
+
+
+def get_travel(travel):
+ template = """ {{ // from {}: {}
+ .motion = {},
+ .condtype = {},
+ .condarg1 = {},
+ .condarg2 = {},
+ .desttype = {},
+ .destval = {},
+ .nodwarves = {},
+ .stop = {},
+ }},
+"""
+ out = ""
+ for entry in travel:
+ out += template.format(*entry)
+ out = out[:-1] # trim trailing newline
+ return out
+
+
+if __name__ == "__main__":
+ with open(YAML_NAME, "r", encoding="ascii", errors="surrogateescape") as f:
+ db = yaml.safe_load(f)
+
+ locnames = [x[0] for x in db["locations"]]
+ msgnames = [el[0] for el in db["arbitrary_messages"]]
+ objnames = [el[0] for el in db["objects"]]
+ motionnames = [el[0] for el in db["motions"]]
+
+ (travel, tkey) = buildtravel(db["locations"], db["objects"])
+ ignore = ""
+ try:
+ with open(
+ H_TEMPLATE_PATH, "r", encoding="ascii", errors="surrogateescape"
+ ) as htf:
+ # read in dungeon.h template
+ h_template = DONOTEDIT_COMMENT + htf.read()
+ with open(
+ C_TEMPLATE_PATH, "r", encoding="ascii", errors="surrogateescape"
+ ) as ctf:
+ # read in dungeon.c template
+ c_template = DONOTEDIT_COMMENT + ctf.read()
+ except IOError as e:
+ print("ERROR: reading template failed ({})".format(e.strerror))
+ sys.exit(-1)
+
+ c = c_template.format(
+ h_file=H_NAME,
+ arbitrary_messages=get_arbitrary_messages(db["arbitrary_messages"]),
+ classes=get_class_messages(db["classes"]),
+ turn_thresholds=get_turn_thresholds(db["turn_thresholds"]),
+ locations=get_locations(db["locations"]),
+ objects=get_objects(db["objects"]),
+ obituaries=get_obituaries(db["obituaries"]),
+ hints=get_hints(db["hints"]),
+ conditions=get_condbits(db["locations"]),
+ motions=get_motions(db["motions"]),
+ actions=get_actions(db["actions"]),
+ tkeys=bigdump(tkey),
+ travel=get_travel(travel),
+ ignore=ignore,
+ dwarflocs=", ".join(db["dwarflocs"]) + ",",
+ )
+
+ # 0-origin index of birds's last song. Bird should
+ # die after player hears this.
+ deathbird = len(dict(db["objects"])["BIRD"]["sounds"]) - 1
+
+ h = h_template.format(
+ num_locations=len(db["locations"]) - 1,
+ num_objects=len(db["objects"]) - 1,
+ num_hints=len(db["hints"]),
+ num_classes=len(db["classes"]) - 1,
+ num_deaths=len(db["obituaries"]),
+ num_thresholds=len(db["turn_thresholds"]),
+ num_motions=len(db["motions"]),
+ num_actions=len(db["actions"]),
+ num_travel=len(travel),
+ num_keys=len(tkey),
+ bird_endstate=deathbird,
+ arbitrary_messages=get_refs(db["arbitrary_messages"]),
+ locations=get_refs(db["locations"]),
+ objects=get_refs(db["objects"]),
+ motions=get_refs(db["motions"]),
+ actions=get_refs(db["actions"]),
+ state_definitions=statedefines,
+ ndwarflocs=str(len(db["dwarflocs"])),
+ )
+
+ with open(H_NAME, "w", encoding="ascii", errors="surrogateescape") as hf:
+ hf.write(h)
+
+ with open(C_NAME, "w", encoding="ascii", errors="surrogateescape") as cf:
+ cf.write(c)
+
+# end
diff --git a/make_graph.py b/make_graph.py
new file mode 100755
index 0000000..5a58895
--- /dev/null
+++ b/make_graph.py
@@ -0,0 +1,221 @@
+#!/usr/bin/env python3
+# SPDX-FileCopyrightText: (C) Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+"""\
+usage: make_graph.py [-a] [-d] [-m] [-s] [-v]
+
+Make a DOT graph of Colossal Cave.
+
+-a = emit graph of entire dungeon
+-d = emit graph of maze all different
+-f = emit graph of forest locations
+-m = emit graph of maze all alike
+-s = emit graph of non-forest surface locations
+-v = include internal symbols in room labels
+"""
+
+# pylint: disable=consider-using-f-string,line-too-long,invalid-name,missing-function-docstring,multiple-imports,redefined-outer-name
+
+import sys, getopt, yaml
+
+
+def allalike(loc):
+ "Select out loci related to the Maze All Alike"
+ return location_lookup[loc]["conditions"].get("ALLALIKE")
+
+
+def alldifferent(loc):
+ "Select out loci related to the Maze All Alike"
+ return location_lookup[loc]["conditions"].get("ALLDIFFERENT")
+
+
+def surface(loc):
+ "Select out surface locations"
+ return location_lookup[loc]["conditions"].get("ABOVE")
+
+
+def forest(loc):
+ return location_lookup[loc]["conditions"].get("FOREST")
+
+
+def abbreviate(d):
+ m = {
+ "NORTH": "N",
+ "EAST": "E",
+ "SOUTH": "S",
+ "WEST": "W",
+ "UPWAR": "U",
+ "DOWN": "D",
+ }
+ return m.get(d, d)
+
+
+def roomlabel(loc):
+ "Generate a room label from the description, if possible"
+ loc_descriptions = location_lookup[loc]["description"]
+ description = ""
+ if debug:
+ description = loc[4:]
+ longd = loc_descriptions["long"]
+ short = loc_descriptions["maptag"] or loc_descriptions["short"]
+ if short is None and longd is not None and len(longd) < 20:
+ short = loc_descriptions["long"]
+ if short is not None:
+ if short.startswith("You're "):
+ short = short[7:]
+ if short.startswith("You are "):
+ short = short[8:]
+ if (
+ short.startswith("in ")
+ or short.startswith("at ")
+ or short.startswith("on ")
+ ):
+ short = short[3:]
+ if short.startswith("the "):
+ short = short[4:]
+ if short[:3] in {"n/s", "e/w"}:
+ short = short[:3].upper() + short[3:]
+ elif short[:2] in {"ne", "sw", "se", "nw"}:
+ short = short[:2].upper() + short[2:]
+ else:
+ short = short[0].upper() + short[1:]
+ if debug:
+ description += "\\n"
+ description += short
+ if loc in startlocs:
+ description += "\\n(" + ",".join(startlocs[loc]).lower() + ")"
+ return description
+
+
+# A forwarder is a location that you can't actually stop in - when you go there
+# it ships some message (which is the point) then shifts you to a next location.
+# A forwarder has a zero-length array of notion verbs in its travel section.
+#
+# Here is an example forwarder declaration:
+#
+# - LOC_GRUESOME:
+# description:
+# long: 'There is now one more gruesome aspect to the spectacular vista.'
+# short: !!null
+# maptag: !!null
+# conditions: {DEEP: true}
+# travel: [
+# {verbs: [], action: [goto, LOC_NOWHERE]},
+# ]
+
+
+def is_forwarder(loc):
+ "Is a location a forwarder?"
+ travel = location_lookup[loc]["travel"]
+ return len(travel) == 1 and len(travel[0]["verbs"]) == 0
+
+
+def forward(loc):
+ "Chase a location through forwarding links."
+ while is_forwarder(loc):
+ loc = location_lookup[loc]["travel"][0]["action"][1]
+ return loc
+
+
+def reveal(objname):
+ "Should this object be revealed when mapping?"
+ if "OBJ_" in objname:
+ return False
+ if objname == "VEND":
+ return True
+ obj = object_lookup[objname]
+ return not obj.get("immovable")
+
+
+if __name__ == "__main__":
+ with open("adventure.yaml", "r", encoding="ascii", errors="surrogateescape") as f:
+ db = yaml.safe_load(f)
+
+ location_lookup = dict(db["locations"])
+ object_lookup = dict(db["objects"])
+
+ try:
+ (options, arguments) = getopt.getopt(sys.argv[1:], "adfmsv")
+ except getopt.GetoptError as e:
+ print(e)
+ sys.exit(1)
+
+ subset = allalike
+ debug = False
+ for (switch, val) in options:
+ if switch == "-a":
+ # pylint: disable=unnecessary-lambda-assignment
+ subset = lambda loc: True
+ elif switch == "-d":
+ subset = alldifferent
+ elif switch == "-f":
+ subset = forest
+ elif switch == "-m":
+ subset = allalike
+ elif switch == "-s":
+ subset = surface
+ elif switch == "-v":
+ debug = True
+ else:
+ sys.stderr.write(__doc__)
+ raise SystemExit(1)
+
+ startlocs = {}
+ for obj in db["objects"]:
+ objname = obj[0]
+ location = obj[1].get("locations")
+ if location != "LOC_NOWHERE" and reveal(objname):
+ if location in startlocs:
+ startlocs[location].append(objname)
+ else:
+ startlocs[location] = [objname]
+
+ # Compute reachability, using forwards.
+ # Dictionary key is (from, to) iff its a valid link,
+ # value is corresponding motion verbs.
+ links = {}
+ nodes = []
+ for (loc, attrs) in db["locations"]:
+ nodes.append(loc)
+ travel = attrs["travel"]
+ if len(travel) > 0:
+ for dest in travel:
+ verbs = [abbreviate(x) for x in dest["verbs"]]
+ if len(verbs) == 0:
+ continue
+ action = dest["action"]
+ if action[0] == "goto":
+ dest = forward(action[1])
+ if not (subset(loc) or subset(dest)):
+ continue
+ links[(loc, dest)] = verbs
+
+ neighbors = set()
+ for loc in nodes:
+ for (f, t) in links:
+ if f == "LOC_NOWHERE" or t == "LOC_NOWHERE":
+ continue
+ if (f == loc and subset(t)) or (t == loc and subset(f)):
+ if loc not in neighbors:
+ neighbors.add(loc)
+
+ print("digraph G {")
+
+ for loc in nodes:
+ if not is_forwarder(loc):
+ node_label = roomlabel(loc)
+ if subset(loc):
+ print(' %s [shape=box,label="%s"]' % (loc[4:], node_label))
+ elif loc in neighbors:
+ print(' %s [label="%s"]' % (loc[4:], node_label))
+
+ # Draw arcs
+ for (f, t) in links:
+ arc = "%s -> %s" % (f[4:], t[4:])
+ label = ",".join(links[(f, t)]).lower()
+ if len(label) > 0:
+ arc += ' [label="%s"]' % label
+ print(" " + arc)
+ print("}")
+
+# end
diff --git a/misc.c b/misc.c
index b1f3f83..b28949e 100644
--- a/misc.c
+++ b/misc.c
@@ -1,1006 +1,775 @@
-#include
-#include
+/*
+ * I/O and support routines.
+ *
+ * SPDX-FileCopyrightText: (C) 1977, 2005 by Will Crowther and Don Woods
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#include
+#include
+#include
+#include
#include
-#include "main.h"
-#include "misc.h"
-#include "funcs.h"
-
-/* hack to ignore GCC Unused Result */
-#define IGNORE(r) do{if(r){}}while(0)
-
-/* I/O routines (SPEAK, PSPEAK, RSPEAK, SETPRM, GETIN, YES) */
-
-#undef SPEAK
-void fSPEAK(long N) {
-long BLANK, CASE, I, K, L, NEG, NPARMS, PARM, PRMTYP, STATE;
-
-/* Print the message which starts at LINES(N). Precede it with a blank line
- * unless BLKLIN is false. */
-
-
- if(N == 0)return;
- BLANK=BLKLIN;
- K=N;
- NPARMS=1;
-L10: L=IABS(LINES[K])-1;
- K=K+1;
- LNLENG=0;
- LNPOSN=1;
- STATE=0;
- for (I=K; I<=L; I++) {
- PUTTXT(LINES[I],STATE,2,I);
- } /* end loop */
- LNPOSN=0;
-L30: LNPOSN=LNPOSN+1;
-L32: if(LNPOSN > LNLENG) goto L40;
- if(INLINE[LNPOSN] != 63) goto L30;
- {long x = LNPOSN+1; PRMTYP=INLINE[x];}
-/* 63 is a "%"; the next character determine the type of parameter: 1 (!) =
- * suppress message completely, 29 (S) = NULL If PARM=1, else 'S' (optional
- * plural ending), 33 (W) = word (two 30-bit values) with trailing spaces
- * suppressed, 22 (L) or 31 (U) = word but map to lower/upper case, 13 (C) =
- * word in lower case with first letter capitalised, 30 (T) = text ending
- * with a word of -1, 65-73 (1-9) = number using that many characters,
- * 12 (B) = variable number of blanks. */
- if(PRMTYP == 1)return;
- if(PRMTYP == 29) goto L320;
- if(PRMTYP == 30) goto L340;
- if(PRMTYP == 12) goto L360;
- if(PRMTYP == 33 || PRMTYP == 22 || PRMTYP == 31 || PRMTYP == 13) goto
- L380;
- PRMTYP=PRMTYP-64;
- if(PRMTYP < 1 || PRMTYP > 9) goto L30;
- SHFTXT(LNPOSN+2,PRMTYP-2);
- LNPOSN=LNPOSN+PRMTYP;
- PARM=IABS(PARMS[NPARMS]);
- NEG=0;
- if(PARMS[NPARMS] < 0)NEG=9;
- /* 390 */ for (I=1; I<=PRMTYP; I++) {
- LNPOSN=LNPOSN-1;
- INLINE[LNPOSN]=MOD(PARM,10)+64;
- if(I == 1 || PARM != 0) goto L390;
- INLINE[LNPOSN]=NEG;
- NEG=0;
-L390: PARM=PARM/10;
- } /* end loop */
- LNPOSN=LNPOSN+PRMTYP;
-L395: NPARMS=NPARMS+1;
- goto L32;
-
-L320: SHFTXT(LNPOSN+2,-1);
- INLINE[LNPOSN]=55;
- if(PARMS[NPARMS] == 1)SHFTXT(LNPOSN+1,-1);
- goto L395;
-
-L340: SHFTXT(LNPOSN+2,-2);
- STATE=0;
- CASE=2;
-L345: if(PARMS[NPARMS] < 0) goto L395;
- {long x = NPARMS+1; if(PARMS[x] < 0)CASE=0;}
- PUTTXT(PARMS[NPARMS],STATE,CASE,0);
- NPARMS=NPARMS+1;
- goto L345;
-
-L360: PRMTYP=PARMS[NPARMS];
- SHFTXT(LNPOSN+2,PRMTYP-2);
- if(PRMTYP == 0) goto L395;
- for (I=1; I<=PRMTYP; I++) {
- INLINE[LNPOSN]=0;
- LNPOSN=LNPOSN+1;
- } /* end loop */
- goto L395;
-
-L380: SHFTXT(LNPOSN+2,-2);
- STATE=0;
- CASE= -1;
- if(PRMTYP == 31)CASE=1;
- if(PRMTYP == 33)CASE=0;
- I=LNPOSN;
- PUTTXT(PARMS[NPARMS],STATE,CASE,0);
- {long x = NPARMS+1; PUTTXT(PARMS[x],STATE,CASE,0);}
- if(PRMTYP == 13 && INLINE[I] >= 37 && INLINE[I] <=
- 62)INLINE[I]=INLINE[I]-26;
- NPARMS=NPARMS+2;
- goto L32;
-
-L40: if(BLANK)TYPE0();
- BLANK=false;
- TYPE();
- K=L+1;
- if(LINES[K] >= 0) goto L10;
- return;
-}
-
-
-
-#define SPEAK(N) fSPEAK(N)
-#undef PSPEAK
-void fPSPEAK(long MSG,long SKIP) {
-long I, M;
-
-/* Find the skip+1st message from msg and print it. MSG should be the index of
- * the inventory message for object. (INVEN+N+1 message is PROP=N message). */
-
-
- M=PTEXT[MSG];
- if(SKIP < 0) goto L9;
- for (I=0; I<=SKIP; I++) {
-L1: M=IABS(LINES[M]);
- if(LINES[M] >= 0) goto L1;
- /*etc*/ ;
- } /* end loop */
-L9: SPEAK(M);
- return;
-}
-
-
-
-#define PSPEAK(MSG,SKIP) fPSPEAK(MSG,SKIP)
-#undef RSPEAK
-void fRSPEAK(long I) {
-;
-
-/* Print the I-TH "random" message (section 6 of database). */
-
-
- if(I != 0)SPEAK(RTEXT[I]);
- return;
-}
-
-
-
-#define RSPEAK(I) fRSPEAK(I)
-#undef SETPRM
-void fSETPRM(long FIRST, long P1, long P2) {
-;
-
-/* Stores parameters into the PRMCOM parms array for use by speak. P1 and P2
- * are stored into PARMS(FIRST) and PARMS(FIRST+1). */
-
-
- if(FIRST >= 25)BUG(29);
- PARMS[FIRST]=P1;
- {long x = FIRST+1; PARMS[x]=P2;}
- return;
-}
-
-
-
-#define SETPRM(FIRST,P1,P2) fSETPRM(FIRST,P1,P2)
-#undef GETIN
-#define WORD1 (*wORD1)
-#define WORD1X (*wORD1X)
-#define WORD2 (*wORD2)
-#define WORD2X (*wORD2X)
-void fGETIN(long *wORD1, long *wORD1X, long *wORD2, long *wORD2X) {
-long JUNK;
-
-/* Get a command from the adventurer. Snarf out the first word, pad it with
- * blanks, and return it in WORD1. Chars 6 thru 10 are returned in WORD1X, in
- * case we need to print out the whole word in an error message. Any number of
- * blanks may follow the word. If a second word appears, it is returned in
- * WORD2 (chars 6 thru 10 in WORD2X), else WORD2 is -1. */
-
-
-L10: if(BLKLIN)TYPE0();
- MAPLIN(stdin);
- if(feof(stdin)) score(1);
- WORD1=GETTXT(true,true,true,0);
- if(BLKLIN && WORD1 < 0) goto L10;
- WORD1X=GETTXT(false,true,true,0);
-L12: JUNK=GETTXT(false,true,true,0);
- if(JUNK > 0) goto L12;
- WORD2=GETTXT(true,true,true,0);
- WORD2X=GETTXT(false,true,true,0);
-L22: JUNK=GETTXT(false,true,true,0);
- if(JUNK > 0) goto L22;
- if(GETTXT(true,true,true,0) <= 0)return;
- RSPEAK(53);
- goto L10;
-}
-
-
-
-#undef WORD1
-#undef WORD1X
-#undef WORD2
-#undef WORD2X
-#define GETIN(WORD1,WORD1X,WORD2,WORD2X) fGETIN(&WORD1,&WORD1X,&WORD2,&WORD2X)
-#undef YES
-long fYES(long X, long Y, long Z) {
-
-long YES, REPLY, JUNK1, JUNK2, JUNK3;
-
-/* Print message X, wait for yes/no answer. If yes, print Y and return true;
- * if no, print Z and return false. */
-
-L1: RSPEAK(X);
- GETIN(REPLY,JUNK1,JUNK2,JUNK3);
- if(REPLY == MAKEWD(250519) || REPLY == MAKEWD(25)) goto L10;
- if(REPLY == MAKEWD(1415) || REPLY == MAKEWD(14)) goto L20;
- RSPEAK(185);
- goto L1;
-L10: YES=true;
- RSPEAK(Y);
- return(YES);
-L20: YES=false;
- RSPEAK(Z);
- return(YES);
-}
-
-
-
-
-
-/* Line-parsing routines (GETNUM, GETTXT, MAKEWD, PUTTXT, SHFTXT, TYPE0)
- */
-
-/* The routines on this page handle all the stuff that would normally be
- * taken care of by format statements. We do it this way instead so that
- * we can handle textual data in a machine independent fashion. All the
- * machine dependent i/o stuff is on the following page. See that page
- * for a description of MAPCOM's inline array. */
-
-#define YES(X,Y,Z) fYES(X,Y,Z)
-#undef GETNUM
-long fGETNUM(FILE *source) {
-long DIGIT, GETNUM, SIGN;
-
-/* Obtain the next integer from an input line. If K>0, we first read a
- * new input line from a file; if K<0, we read a line from the keyboard;
- * if K=0 we use a line that has already been read (and perhaps partially
- * scanned). If we're at the end of the line or encounter an illegal
- * character (not a digit, hyphen, or blank), we return 0. */
-
-
- if(source != NULL)MAPLIN(source);
- GETNUM=0;
-L10: if(LNPOSN > LNLENG)return(GETNUM);
- if(INLINE[LNPOSN] != 0) goto L20;
- LNPOSN=LNPOSN+1;
- goto L10;
-
-L20: SIGN=1;
- if(INLINE[LNPOSN] != 9) goto L32;
- SIGN= -1;
-L30: LNPOSN=LNPOSN+1;
-L32: if(LNPOSN > LNLENG || INLINE[LNPOSN] == 0) goto L42;
- DIGIT=INLINE[LNPOSN]-64;
- if(DIGIT < 0 || DIGIT > 9) goto L40;
- GETNUM=GETNUM*10+DIGIT;
- goto L30;
-
-L40: GETNUM=0;
-L42: GETNUM=GETNUM*SIGN;
- LNPOSN=LNPOSN+1;
- return(GETNUM);
-}
-
-
-
-#define GETNUM(K) fGETNUM(K)
-#undef GETTXT
-long fGETTXT(long SKIP,long ONEWRD, long UPPER, long HASH) {
-long CHAR, GETTXT, I; static long SPLITTING = -1;
-
-/* Take characters from an input line and pack them into 30-bit words.
- * Skip says to skip leading blanks. ONEWRD says stop if we come to a
- * blank. UPPER says to map all letters to uppercase. HASH may be used
- * as a parameter for encrypting the text if desired; however, a hash of 0
- * should result in unmodified bytes being packed. If we reach the
- * end of the line, the word is filled up with blanks (which encode as 0's).
- * If we're already at end of line when GETTXT is called, we return -1. */
-
- if(LNPOSN != SPLITTING)SPLITTING = -1;
- GETTXT= -1;
-L10: if(LNPOSN > LNLENG)return(GETTXT);
- if((!SKIP) || INLINE[LNPOSN] != 0) goto L11;
- LNPOSN=LNPOSN+1;
- goto L10;
-
-L11: GETTXT=0;
- /* 15 */ for (I=1; I<=5; I++) {
- GETTXT=GETTXT*64;
- if(LNPOSN > LNLENG || (ONEWRD && INLINE[LNPOSN] == 0)) goto L15;
- CHAR=INLINE[LNPOSN];
- if(CHAR >= 63) goto L12;
- SPLITTING = -1;
- if(UPPER && CHAR >= 37)CHAR=CHAR-26;
- GETTXT=GETTXT+CHAR;
- goto L14;
-
-L12: if(SPLITTING == LNPOSN) goto L13;
- GETTXT=GETTXT+63;
- SPLITTING = LNPOSN;
- goto L15;
-
-L13: GETTXT=GETTXT+CHAR-63;
- SPLITTING = -1;
-L14: LNPOSN=LNPOSN+1;
-L15: /*etc*/ ;
- } /* end loop */
-
- if(HASH)GETTXT=GETTXT+MOD(HASH*13579L+5432L,97531L)*12345L+HASH;
- return(GETTXT);
-}
-
-
-
-#define GETTXT(SKIP,ONEWRD,UPPER,HASH) fGETTXT(SKIP,ONEWRD,UPPER,HASH)
-#undef MAKEWD
-long fMAKEWD(long LETTRS) {
-long I, L, MAKEWD;
-
-/* Combine five uppercase letters (represented by pairs of decimal digits
- * in lettrs) to form a 30-bit value matching the one that GETTXT would
- * return given those characters plus trailing blanks and HASH=0. Caution:
- * lettrs will overflow 31 bits if 5-letter word starts with V-Z. As a
- * kludgey workaround, you can increment a letter by 5 by adding 50 to
- * the next pair of digits. */
-
-
- MAKEWD=0;
- I=1;
- L=LETTRS;
-L10: MAKEWD=MAKEWD+I*(MOD(L,50)+10);
- I=I*64;
- if(MOD(L,100) > 50)MAKEWD=MAKEWD+I*5;
- L=L/100;
- if(L != 0) goto L10;
- I=64L*64L*64L*64L*64L/I;
- MAKEWD=MAKEWD*I;
- return(MAKEWD);
-}
-
-
-
-#define MAKEWD(LETTRS) fMAKEWD(LETTRS)
-#undef PUTTXT
-#define STATE (*sTATE)
-void fPUTTXT(long WORD, long *sTATE, long CASE, long HASH) {
-long ALPH1, ALPH2, BYTE, DIV, I, W;
-
-/* Unpack the 30-bit value in word to obtain up to 5 integer-encoded chars,
- * and store them in inline starting at LNPOSN. If LNLENG>=LNPOSN, shift
- * existing characters to the right to make room. HASH must be the same
- * as it was when gettxt created the 30-bit word. STATE will be zero when
- * puttxt is called with the first of a sequence of words, but is thereafter
- * unchanged by the caller, so PUTTXT can use it to maintain state across
- * calls. LNPOSN and LNLENG are incremented by the number of chars stored.
- * If CASE=1, all letters are made uppercase; if -1, lowercase; if 0, as is.
- * any other value for case is the same as 0 but also causes trailing blanks
- * to be included (in anticipation of subsequent additional text). */
-
-
- ALPH1=13*CASE+24;
- ALPH2=26*IABS(CASE)+ALPH1;
- if(IABS(CASE) > 1)ALPH1=ALPH2;
-/* ALPH1&2 DEFINE RANGE OF WRONG-CASE CHARS, 11-36 OR 37-62 OR EMPTY. */
- DIV=64L*64L*64L*64L;
- W=WORD;
- if(HASH)W=W-MOD(HASH*13579L+5432L,97531L)*12345L-HASH;
- /* 18 */ for (I=1; I<=5; I++) {
- if(W <= 0 && STATE == 0 && IABS(CASE) <= 1)return;
- BYTE=W/DIV;
- if(STATE != 0 || BYTE != 63) goto L12;
- STATE=63;
- goto L18;
-
-L12: SHFTXT(LNPOSN,1);
- STATE=STATE+BYTE;
- if(STATE < ALPH2 && STATE >= ALPH1)STATE=STATE-26*CASE;
- INLINE[LNPOSN]=STATE;
- LNPOSN=LNPOSN+1;
- STATE=0;
-L18: W=(W-BYTE*DIV)*64;
- } /* end loop */
- return;
-}
-
-
-
-#undef STATE
-#define PUTTXT(WORD,STATE,CASE,HASH) fPUTTXT(WORD,&STATE,CASE,HASH)
-#undef SHFTXT
-void fSHFTXT(long FROM, long DELTA) {
-long I, II, JJ;
-
-/* Move INLINE(N) to INLINE(N+DELTA) for N=FROM,LNLENG. Delta can be
- * negative. LNLENG is updated; LNPOSN is not changed. */
-
-
- if(LNLENG < FROM || DELTA == 0) goto L2;
- for (I=FROM; I<=LNLENG; I++) {
- II=I;
- if(DELTA > 0)II=FROM+LNLENG-I;
- JJ=II+DELTA;
- INLINE[JJ]=INLINE[II];
- } /* end loop */
-L2: LNLENG=LNLENG+DELTA;
- return;
-}
-
-
-
-#define SHFTXT(FROM,DELTA) fSHFTXT(FROM,DELTA)
-#undef TYPE0
-void fTYPE0() {
-long TEMP;
-
-/* Type a blank line. This procedure is provided as a convenience for callers
- * who otherwise have no use for MAPCOM. */
-
-
- TEMP=LNLENG;
- LNLENG=0;
- TYPE();
- LNLENG=TEMP;
- return;
-}
-
-
-
-#define TYPE0() fTYPE0()
-
-
-/* Suspend/resume I/O routines (SAVWDS, SAVARR, SAVWRD) */
-
-#undef SAVWDS
-void fSAVWDS(long *W1, long *W2, long *W3, long *W4, long *W5, long *W6, long *W7) {
-
-/* Write or read 7 variables. See SAVWRD. */
-
-
- SAVWRD(0,(*W1));
- SAVWRD(0,(*W2));
- SAVWRD(0,(*W3));
- SAVWRD(0,(*W4));
- SAVWRD(0,(*W5));
- SAVWRD(0,(*W6));
- SAVWRD(0,(*W7));
- return;
-}
-
-
-#define SAVWDS(W1,W2,W3,W4,W5,W6,W7) fSAVWDS(&W1,&W2,&W3,&W4,&W5,&W6,&W7)
-#undef SAVARR
-void fSAVARR(long ARR[], long N) {
-long I;
-
-/* Write or read an array of N words. See SAVWRD. */
-
-
- for (I=1; I<=N; I++) {
- SAVWRD(0,ARR[I]);
- } /* end loop */
- return;
-}
-
-
-
-#define SAVARR(ARR,N) fSAVARR(ARR,N)
-#undef SAVWRD
-#define WORD (*wORD)
-void fSAVWRD(long OP, long *wORD) {
-static long BUF[250], CKSUM = 0, H1, HASH = 0, N = 0, STATE = 0;
-
-/* If OP<0, start writing a file, using word to initialise encryption; save
- * word in the file. If OP>0, start reading a file; read the file to find
- * the value with which to decrypt the rest. In either case, if a file is
- * already open, finish writing/reading it and don't start a new one. If OP=0,
- * read/write a single word. Words are buffered in case that makes for more
- * efficient disk use. We also compute a simple checksum to catch elementary
- * poking within the saved file. When we finish reading/writing the file,
- * we store zero into WORD if there's no checksum error, else nonzero. */
-
-
- if(OP != 0){long ifvar; ifvar=(STATE); switch (ifvar<0? -1 : ifvar>0? 1 :
- 0) { case -1: goto L30; case 0: goto L10; case 1: goto L30; }}
- if(STATE == 0)return;
- if(N == 250)SAVEIO(1,STATE > 0,BUF);
- N=MOD(N,250)+1;
- H1=MOD(HASH*1093L+221573L,1048576L);
- HASH=MOD(H1*1093L+221573L,1048576L);
- H1=MOD(H1,1234)*765432+MOD(HASH,123);
- N--;
- if(STATE > 0)WORD=BUF[N]+H1;
- BUF[N]=WORD-H1;
- N++;
- CKSUM=MOD(CKSUM*13+WORD,1000000000L);
- return;
-
-L10: STATE=OP;
- SAVEIO(0,STATE > 0,BUF);
- N=1;
- if(STATE > 0) goto L15;
- HASH=MOD(WORD,1048576L);
- BUF[0]=1234L*5678L-HASH;
-L13: CKSUM=BUF[0];
- return;
-
-L15: SAVEIO(1,true,BUF);
- HASH=MOD(1234L*5678L-BUF[0],1048576L);
- goto L13;
-
-L30: if(N == 250)SAVEIO(1,STATE > 0,BUF);
- N=MOD(N,250)+1;
- if(STATE > 0) goto L32;
- N--; BUF[N]=CKSUM; N++;
- SAVEIO(1,false,BUF);
-L32: N--; WORD=BUF[N]-CKSUM; N++;
- SAVEIO(-1,STATE > 0,BUF);
- STATE=0;
- return;
-}
-
-
-
-
-
-/* Data struc. routines (VOCAB, DSTROY, JUGGLE, MOVE, PUT, CARRY, DROP, ATDWRF)
- */
-
-#undef WORD
-#define SAVWRD(OP,WORD) fSAVWRD(OP,&WORD)
-#undef VOCAB
-long fVOCAB(long ID, long INIT) {
-long HASH, I, VOCAB;
-
-/* Look up ID in the vocabulary (ATAB) and return its "definition" (KTAB), or
- * -1 if not found. If INIT is positive, this is an initialisation call setting
- * up a keyword variable, and not finding it constitutes a bug. It also means
- * that only KTAB values which taken over 1000 equal INIT may be considered.
- * (Thus "STEPS", which is a motion verb as well as an object, may be located
- * as an object.) And it also means the KTAB value is taken modulo 1000. */
-
- HASH=10000;
- /* 1 */ for (I=1; I<=TABSIZ; I++) {
- if(KTAB[I] == -1) goto L2;
- HASH=HASH+7;
- if(INIT >= 0 && KTAB[I]/1000 != INIT) goto L1;
- if(ATAB[I] == ID+HASH*HASH) goto L3;
-L1: /*etc*/ ;
- } /* end loop */
- BUG(21);
-
-L2: VOCAB= -1;
- if(INIT < 0)return(VOCAB);
- BUG(5);
-
-L3: VOCAB=KTAB[I];
- if(INIT >= 0)VOCAB=MOD(VOCAB,1000);
- return(VOCAB);
-}
-
-
-
-#define VOCAB(ID,INIT) fVOCAB(ID,INIT)
-#undef DSTROY
-void fDSTROY(long OBJECT) {
-;
-
-/* Permanently eliminate "OBJECT" by moving to a non-existent location. */
-
-
- MOVE(OBJECT,0);
- return;
-}
-
-
-
-#define DSTROY(OBJECT) fDSTROY(OBJECT)
-#undef JUGGLE
-void fJUGGLE(long OBJECT) {
-long I, J;
-
-/* Juggle an object by picking it up and putting it down again, the purpose
- * being to get the object to the front of the chain of things at its loc. */
-
-
- I=PLACE[OBJECT];
- J=FIXED[OBJECT];
- MOVE(OBJECT,I);
- MOVE(OBJECT+100,J);
- return;
-}
-
-
-
-#define JUGGLE(OBJECT) fJUGGLE(OBJECT)
-#undef MOVE
-void fMOVE(long OBJECT, long WHERE) {
-long FROM;
-
-/* Place any object anywhere by picking it up and dropping it. May already be
- * toting, in which case the carry is a no-op. Mustn't pick up objects which
- * are not at any loc, since carry wants to remove objects from ATLOC chains. */
-
-
- if(OBJECT > 100) goto L1;
- FROM=PLACE[OBJECT];
- goto L2;
-L1: {long x = OBJECT-100; FROM=FIXED[x];}
-L2: if(FROM > 0 && FROM <= 300)CARRY(OBJECT,FROM);
- DROP(OBJECT,WHERE);
- return;
-}
-
-
-
-#define MOVE(OBJECT,WHERE) fMOVE(OBJECT,WHERE)
-#undef PUT
-long fPUT(long OBJECT, long WHERE, long PVAL) {
-long PUT;
-
-/* PUT is the same as MOVE, except it returns a value used to set up the
- * negated PROP values for the repository objects. */
-
-
- MOVE(OBJECT,WHERE);
- PUT=(-1)-PVAL;
- return(PUT);
-}
-
-
-
-#define PUT(OBJECT,WHERE,PVAL) fPUT(OBJECT,WHERE,PVAL)
-#undef CARRY
-void fCARRY(long OBJECT, long WHERE) {
-long TEMP;
-
-/* Start toting an object, removing it from the list of things at its former
- * location. Incr holdng unless it was already being toted. If OBJECT>100
- * (moving "fixed" second loc), don't change PLACE or HOLDNG. */
-
-
- if(OBJECT > 100) goto L5;
- if(PLACE[OBJECT] == -1)return;
- PLACE[OBJECT]= -1;
- HOLDNG=HOLDNG+1;
-L5: if(ATLOC[WHERE] != OBJECT) goto L6;
- ATLOC[WHERE]=LINK[OBJECT];
- return;
-L6: TEMP=ATLOC[WHERE];
-L7: if(LINK[TEMP] == OBJECT) goto L8;
- TEMP=LINK[TEMP];
- goto L7;
-L8: LINK[TEMP]=LINK[OBJECT];
- return;
-}
-
-
-
-#define CARRY(OBJECT,WHERE) fCARRY(OBJECT,WHERE)
-#undef DROP
-void fDROP(long OBJECT, long WHERE) {
-;
-
-/* Place an object at a given loc, prefixing it onto the ATLOC list. Decr
- * HOLDNG if the object was being toted. */
-
-
- if(OBJECT > 100) goto L1;
- if(PLACE[OBJECT] == -1)HOLDNG=HOLDNG-1;
- PLACE[OBJECT]=WHERE;
- goto L2;
-L1: {long x = OBJECT-100; FIXED[x]=WHERE;}
-L2: if(WHERE <= 0)return;
- LINK[OBJECT]=ATLOC[WHERE];
- ATLOC[WHERE]=OBJECT;
- return;
-}
-
-
-
-#define DROP(OBJECT,WHERE) fDROP(OBJECT,WHERE)
-#undef ATDWRF
-long fATDWRF(long WHERE) {
-long ATDWRF, I;
-
-/* Return the index of first dwarf at the given location, zero if no dwarf is
- * there (or if dwarves not active yet), -1 if all dwarves are dead. Ignore
- * the pirate (6th dwarf). */
-
-
- ATDWRF=0;
- if(DFLAG < 2)return(ATDWRF);
- ATDWRF= -1;
- for (I=1; I<=5; I++) {
- if(DLOC[I] == WHERE) goto L2;
- if(DLOC[I] != 0)ATDWRF=0;
- } /* end loop */
- return(ATDWRF);
-
-L2: ATDWRF=I;
- return(ATDWRF);
-}
-
-
-
-
-#define ATDWRF(WHERE) fATDWRF(WHERE)
-
-
-
-/* Utility routines (SETBIT, TSTBIT, RAN, RNDVOC, BUG) */
-
-#undef SETBIT
-long fSETBIT(long BIT) {
-long I, SETBIT;
-
-/* Returns 2**bit for use in constructing bit-masks. */
-
-
- SETBIT=1;
- if(BIT <= 0)return(SETBIT);
- for (I=1; I<=BIT; I++) {
- SETBIT=SETBIT+SETBIT;
- } /* end loop */
- return(SETBIT);
-}
-
-
-
-#define SETBIT(BIT) fSETBIT(BIT)
-#undef TSTBIT
-long fTSTBIT(long MASK, long BIT) {
-long TSTBIT;
-
-/* Returns true if the specified bit is set in the mask. */
-
-
- TSTBIT=MOD(MASK/SETBIT(BIT),2) != 0;
- return(TSTBIT);
-}
-
-
-
-#define TSTBIT(MASK,BIT) fTSTBIT(MASK,BIT)
-#undef RAN
-long fRAN(long RANGE) {
-static long D, R = 0, RAN, T;
-
-/* Since the ran function in LIB40 seems to be a real lose, we'll use one of
- * our own. It's been run through many of the tests in Knuth vol. 2 and
- * seems to be quite reliable. RAN returns a value uniformly selected
- * between 0 and range-1. */
-
-
- D=1;
- if(R != 0 && RANGE >= 0) goto L1;
- DATIME(D,T);
- R=MOD(T+5,1048576L);
- D=1000+MOD(D,1000);
-L1: for (T=1; T<=D; T++) {
- R=MOD(R*1093L+221587L,1048576L);
- } /* end loop */
- RAN=(RANGE*R)/1048576;
- return(RAN);
-}
-
-
-
-#define RAN(RANGE) fRAN(RANGE)
-#undef RNDVOC
-long fRNDVOC(long CHAR, long FORCE) {
-long DIV, I, J, RNDVOC;
-
-/* Searches the vocabulary for a word whose second character is char, and
- * changes that word such that each of the other four characters is a
- * random letter. If force is non-zero, it is used as the new word.
- * Returns the new word. */
-
-
- RNDVOC=FORCE;
- if(RNDVOC != 0) goto L3;
- for (I=1; I<=5; I++) {
- J=11+RAN(26);
- if(I == 2)J=CHAR;
- RNDVOC=RNDVOC*64+J;
- } /* end loop */
-L3: J=10000;
- DIV=64L*64L*64L;
- for (I=1; I<=TABSIZ; I++) {
- J=J+7;
- if(MOD((ATAB[I]-J*J)/DIV,64L) == CHAR) goto L8;
- /*etc*/ ;
- } /* end loop */
- BUG(5);
-
-L8: ATAB[I]=RNDVOC+J*J;
- return(RNDVOC);
-}
-
-
-
-#define RNDVOC(CHAR,FORCE) fRNDVOC(CHAR,FORCE)
-#undef BUG
-void fBUG(long NUM) {
-
-/* The following conditions are currently considered fatal bugs. Numbers < 20
- * are detected while reading the database; the others occur at "run time".
- * 0 Message line > 70 characters
- * 1 Null line in message
- * 2 Too many words of messages
- * 3 Too many travel options
- * 4 Too many vocabulary words
- * 5 Required vocabulary word not found
- * 6 Too many RTEXT messages
- * 7 Too many hints
- * 8 Location has cond bit being set twice
- * 9 Invalid section number in database
- * 10 Too many locations
- * 11 Too many class or turn messages
- * 20 Special travel (500>L>300) exceeds goto list
- * 21 Ran off end of vocabulary table
- * 22 Vocabulary type (N/1000) not between 0 and 3
- * 23 Intransitive action verb exceeds goto list
- * 24 Transitive action verb exceeds goto list
- * 25 Conditional travel entry with no alternative
- * 26 Location has no travel entries
- * 27 Hint number exceeds goto list
- * 28 Invalid month returned by date function
- * 29 Too many parameters given to SETPRM */
-
- printf("Fatal error %ld. See source code for interpretation.\n",
- NUM);
- exit(0);
-}
-
-
-
-
-
-/* Machine dependent routines (MAPLIN, TYPE, MPINIT, SAVEIO) */
-
-#define BUG(NUM) fBUG(NUM)
-#undef MAPLIN
-void fMAPLIN(FILE *OPENED) {
-long I, VAL;
-
-/* Read a line of input, from the specified input source,
- * translate the chars to integers in the range 0-126 and store
- * them in the common array "INLINE". Integer values are as follows:
- * 0 = space [ASCII CODE 40 octal, 32 decimal]
- * 1-2 = !" [ASCII 41-42 octal, 33-34 decimal]
- * 3-10 = '()*+,-. [ASCII 47-56 octal, 39-46 decimal]
- * 11-36 = upper-case letters
- * 37-62 = lower-case letters
- * 63 = percent (%) [ASCII 45 octal, 37 decimal]
- * 64-73 = digits, 0 through 9
- * Remaining characters can be translated any way that is convenient;
- * The "TYPE" routine below is used to map them back to characters when
- * necessary. The above mappings are required so that certain special
- * characters are known to fit in 6 bits and/or can be easily spotted.
- * Array elements beyond the end of the line should be filled with 0,
- * and LNLENG should be set to the index of the last character.
- *
- * If the data file uses a character other than space (e.g., tab) to
- * separate numbers, that character should also translate to 0.
- *
- * This procedure may use the map1,map2 arrays to maintain static data for
- * the mapping. MAP2(1) is set to 0 when the program starts
- * and is not changed thereafter unless the routines on this page choose
- * to do so. */
-
- if(MAP2[1] == 0)MPINIT();
-
- if (!oldstyle && isatty(0))
- fputs("> ", stdout);
- IGNORE(fgets(INLINE+1,sizeof(INLINE)-1,OPENED));
- if (feof(OPENED)) {
- if (logfp)
- fclose(logfp);
- } else {
- if (logfp)
- IGNORE(fputs(INLINE+1, logfp));
- LNLENG=0;
- for (I=1; I<=sizeof(INLINE) && INLINE[I]!=0; I++) {
- VAL=INLINE[I]+1;
- INLINE[I]=MAP1[VAL];
- if(INLINE[I] != 0)LNLENG=I;
- } /* end loop */
- LNPOSN=1;
+#include
+#include
+#include
+#include
+#include
+
+#include "advent.h"
+#include "dungeon.h"
+
+static void *xcalloc(size_t size) {
+ void *ptr = calloc(size, 1);
+ if (ptr == NULL) {
+ // LCOV_EXCL_START
+ // exclude from coverage analysis because we can't simulate an
+ // out of memory error in testing
+ fprintf(stderr, "Out of memory!\n");
+ exit(EXIT_FAILURE);
+ // LCOV_EXCL_STOP
}
+ return (ptr);
}
-#define MAPLIN(FIL) fMAPLIN(FIL)
-#undef TYPE
-void fTYPE(void) {
-long I, VAL;
+/* I/O routines (speak, pspeak, rspeak, sspeak, get_input, yes) */
-/* Type the first "LNLENG" characters stored in inline, mapping them
- * from integers to text per the rules described above. INLINE(I),
- * I=1,LNLENG may be changed by this routine. */
+static void vspeak(const char *msg, bool blank, va_list ap) {
+ /* Engine for various speak functions */
+ // Do nothing if we got a null pointer.
+ if (msg == NULL) {
+ return;
+ }
+ // Do nothing if we got an empty string.
+ if (strlen(msg) == 0) {
+ return;
+ }
- if(LNLENG != 0) goto L10;
+ if (blank == true) {
+ printf("\n");
+ }
+
+ int msglen = strlen(msg);
+
+ // Rendered string
+ ssize_t size = 2000; /* msglen > 50 ? msglen*2 : 100; */
+ char *rendered = xcalloc(size);
+ char *renderp = rendered;
+
+ // Handle format specifiers (including the custom %S) by
+ // adjusting the parameter accordingly, and replacing the
+ // specifier with %s.
+ bool pluralize = false;
+ for (int i = 0; i < msglen; i++) {
+ if (msg[i] != '%') {
+ /* Ugh. Least obtrusive way to deal with artifacts "on
+ * the floor" being dropped outside of both cave and
+ * building. */
+ if (strncmp(msg + i, "floor", 5) == 0 &&
+ strchr(" .", msg[i + 5]) && !INSIDE(game.loc)) {
+ strcpy(renderp, "ground");
+ renderp += 6;
+ i += 4;
+ size -= 5;
+ } else {
+ *renderp++ = msg[i];
+ size--;
+ }
+ } else {
+ i++;
+ // Integer specifier.
+ if (msg[i] == 'd') {
+ int32_t arg = va_arg(ap, int32_t);
+ int ret =
+ snprintf(renderp, size, "%" PRId32, arg);
+ if (ret < size) {
+ renderp += ret;
+ size -= ret;
+ }
+ pluralize = (arg != 1);
+ }
+
+ // Unmodified string specifier.
+ if (msg[i] == 's') {
+ char *arg = va_arg(ap, char *);
+ strncat(renderp, arg, size - 1);
+ size_t len = strlen(renderp);
+ renderp += len;
+ size -= len;
+ }
+
+ // Singular/plural specifier.
+ if (msg[i] == 'S') {
+ // look at the *previous* numeric parameter
+ if (pluralize) {
+ *renderp++ = 's';
+ size--;
+ }
+ }
+
+ // LCOV_EXCL_START - doesn't occur in test suite.
+ /* Version specifier */
+ if (msg[i] == 'V') {
+ strcpy(renderp, VERSION);
+ size_t len = strlen(VERSION);
+ renderp += len;
+ size -= len;
+ }
+ // LCOV_EXCL_STOP
+ }
+ }
+ *renderp = 0;
+
+ // Print the message.
+ printf("%s\n", rendered);
+
+ free(rendered);
+}
+
+void speak(const char *msg, ...) {
+ /* speak a specified string */
+ va_list ap;
+ va_start(ap, msg);
+ vspeak(msg, true, ap);
+ va_end(ap);
+}
+
+void sspeak(const int msg, ...) {
+ /* Speak a message from the arbitrary-messages list */
+ va_list ap;
+ va_start(ap, msg);
+ fputc('\n', stdout);
+ vprintf(arbitrary_messages[msg], ap);
+ fputc('\n', stdout);
+ va_end(ap);
+}
+
+void pspeak(vocab_t msg, enum speaktype mode, bool blank, int skip, ...) {
+ /* Find the skip+1st message from msg and print it. Modes are:
+ * feel = for inventory, what you can touch
+ * look = the full description for the state the object is in
+ * listen = the sound for the state the object is in
+ * study = text on the object. */
+ va_list ap;
+ va_start(ap, skip);
+ switch (mode) {
+ case touch:
+ vspeak(objects[msg].inventory, blank, ap);
+ break;
+ case look:
+ vspeak(objects[msg].descriptions[skip], blank, ap);
+ break;
+ case hear:
+ vspeak(objects[msg].sounds[skip], blank, ap);
+ break;
+ case study:
+ vspeak(objects[msg].texts[skip], blank, ap);
+ break;
+ case change:
+ vspeak(objects[msg].changes[skip], blank, ap);
+ break;
+ }
+ va_end(ap);
+}
+
+void rspeak(vocab_t i, ...) {
+ /* Print the i-th "random" message (section 6 of database). */
+ va_list ap;
+ va_start(ap, i);
+ vspeak(arbitrary_messages[i], true, ap);
+ va_end(ap);
+}
+
+void echo_input(FILE *destination, const char *input_prompt,
+ const char *input) {
+ size_t len = strlen(input_prompt) + strlen(input) + 1;
+ char *prompt_and_input = (char *)xcalloc(len);
+ strcpy(prompt_and_input, input_prompt);
+ strcat(prompt_and_input, input);
+ fprintf(destination, "%s\n", prompt_and_input);
+ free(prompt_and_input);
+}
+
+static int word_count(char *str) {
+ char delims[] = " \t";
+ int count = 0;
+ int inblanks = true;
+
+ for (char *s = str; *s; s++) {
+ if (inblanks) {
+ if (strchr(delims, *s) == 0) {
+ ++count;
+ inblanks = false;
+ }
+ } else {
+ if (strchr(delims, *s) != 0) {
+ inblanks = true;
+ }
+ }
+ }
+
+ return (count);
+}
+
+static char *get_input(void) {
+ // Set up the prompt
+ char input_prompt[] = PROMPT;
+ if (!settings.prompt) {
+ input_prompt[0] = '\0';
+ }
+
+ // Print a blank line
printf("\n");
- return;
-L10: if(MAP2[1] == 0)MPINIT();
- for (I=1; I<=LNLENG; I++) {
- VAL=INLINE[I];
- {long x = VAL+1; INLINE[I]=MAP2[x];}
- } /* end loop */
- {long x = LNLENG+1; INLINE[x]=0;}
- printf("%s\n",INLINE+1);
+ char *input;
+ for (;;) {
+ input = myreadline(input_prompt);
+
+ if (input == NULL) { // Got EOF; return with it.
+ return (input);
+ }
+ if (input[0] == '#') { // Ignore comments.
+ free(input);
+ continue;
+ }
+ // We have a 'normal' line; leave the loop.
+ break;
+ }
+
+ // Strip trailing newlines from the input
+ input[strcspn(input, "\n")] = 0;
+
+ add_history(input);
+
+ if (!isatty(0)) {
+ echo_input(stdout, input_prompt, input);
+ }
+
+ if (settings.logfp) {
+ echo_input(settings.logfp, "", input);
+ }
+
+ return (input);
+}
+
+bool silent_yes_or_no(void) {
+ bool outcome = false;
+
+ for (;;) {
+ char *reply = get_input();
+ if (reply == NULL) {
+ // LCOV_EXCL_START
+ // Should be unreachable. Reply should never be NULL
+ free(reply);
+ exit(EXIT_SUCCESS);
+ // LCOV_EXCL_STOP
+ }
+ if (strlen(reply) == 0) {
+ free(reply);
+ rspeak(PLEASE_ANSWER);
+ continue;
+ }
+
+ char *firstword = (char *)xcalloc(strlen(reply) + 1);
+ sscanf(reply, "%s", firstword);
+
+ free(reply);
+
+ for (int i = 0; i < (int)strlen(firstword); ++i) {
+ firstword[i] = tolower(firstword[i]);
+ }
+
+ int yes = strncmp("yes", firstword, sizeof("yes") - 1);
+ int y = strncmp("y", firstword, sizeof("y") - 1);
+ int no = strncmp("no", firstword, sizeof("no") - 1);
+ int n = strncmp("n", firstword, sizeof("n") - 1);
+
+ free(firstword);
+
+ if (yes == 0 || y == 0) {
+ outcome = true;
+ break;
+ } else if (no == 0 || n == 0) {
+ outcome = false;
+ break;
+ } else {
+ rspeak(PLEASE_ANSWER);
+ }
+ }
+ return (outcome);
+}
+
+bool yes_or_no(const char *question, const char *yes_response,
+ const char *no_response) {
+ /* Print message X, wait for yes/no answer. If yes, print Y and return
+ * true; if no, print Z and return false. */
+ bool outcome = false;
+
+ for (;;) {
+ speak(question);
+
+ char *reply = get_input();
+ if (reply == NULL) {
+ // LCOV_EXCL_START
+ // Should be unreachable. Reply should never be NULL
+ free(reply);
+ exit(EXIT_SUCCESS);
+ // LCOV_EXCL_STOP
+ }
+
+ if (strlen(reply) == 0) {
+ free(reply);
+ rspeak(PLEASE_ANSWER);
+ continue;
+ }
+
+ char *firstword = (char *)xcalloc(strlen(reply) + 1);
+ sscanf(reply, "%s", firstword);
+
+ free(reply);
+
+ for (int i = 0; i < (int)strlen(firstword); ++i) {
+ firstword[i] = tolower(firstword[i]);
+ }
+
+ int yes = strncmp("yes", firstword, sizeof("yes") - 1);
+ int y = strncmp("y", firstword, sizeof("y") - 1);
+ int no = strncmp("no", firstword, sizeof("no") - 1);
+ int n = strncmp("n", firstword, sizeof("n") - 1);
+
+ free(firstword);
+
+ if (yes == 0 || y == 0) {
+ speak(yes_response);
+ outcome = true;
+ break;
+ } else if (no == 0 || n == 0) {
+ speak(no_response);
+ outcome = false;
+ break;
+ } else {
+ rspeak(PLEASE_ANSWER);
+ }
+ }
+
+ return (outcome);
+}
+
+/* Data structure routines */
+
+static int get_motion_vocab_id(const char *word) {
+ // Return the first motion number that has 'word' as one of its words.
+ for (int i = 0; i < NMOTIONS; ++i) {
+ for (int j = 0; j < motions[i].words.n; ++j) {
+ if (strncasecmp(word, motions[i].words.strs[j],
+ TOKLEN) == 0 &&
+ (strlen(word) > 1 ||
+ strchr(ignore, word[0]) == NULL ||
+ !settings.oldstyle)) {
+ return (i);
+ }
+ }
+ }
+ // If execution reaches here, we didn't find the word.
+ return (WORD_NOT_FOUND);
+}
+
+static int get_object_vocab_id(const char *word) {
+ // Return the first object number that has 'word' as one of its words.
+ for (int i = 0; i < NOBJECTS + 1;
+ ++i) { // FIXME: the + 1 should go when 1-indexing for objects is
+ // removed
+ for (int j = 0; j < objects[i].words.n; ++j) {
+ if (strncasecmp(word, objects[i].words.strs[j],
+ TOKLEN) == 0) {
+ return (i);
+ }
+ }
+ }
+ // If execution reaches here, we didn't find the word.
+ return (WORD_NOT_FOUND);
+}
+
+static int get_action_vocab_id(const char *word) {
+ // Return the first motion number that has 'word' as one of its words.
+ for (int i = 0; i < NACTIONS; ++i) {
+ for (int j = 0; j < actions[i].words.n; ++j) {
+ if (strncasecmp(word, actions[i].words.strs[j],
+ TOKLEN) == 0 &&
+ (strlen(word) > 1 ||
+ strchr(ignore, word[0]) == NULL ||
+ !settings.oldstyle)) {
+ return (i);
+ }
+ }
+ }
+ // If execution reaches here, we didn't find the word.
+ return (WORD_NOT_FOUND);
+}
+
+static bool is_valid_int(const char *str) {
+ /* Returns true if the string passed in is represents a valid integer,
+ * that could then be parsed by atoi() */
+ // Handle negative number
+ if (*str == '-') {
+ ++str;
+ }
+
+ // Handle empty string or just "-". Should never reach this
+ // point, because this is only used with transitive verbs.
+ if (!*str) {
+ return false; // LCOV_EXCL_LINE
+ }
+
+ // Check for non-digit chars in the rest of the string.
+ while (*str) {
+ if (!isdigit(*str)) {
+ return false;
+ } else {
+ ++str;
+ }
+ }
+
+ return true;
+}
+
+static void get_vocab_metadata(const char *word, vocab_t *id,
+ word_type_t *type) {
+ /* Check for an empty string */
+ if (strncmp(word, "", sizeof("")) == 0) {
+ *id = WORD_EMPTY;
+ *type = NO_WORD_TYPE;
+ return;
+ }
+
+ vocab_t ref_num;
+
+ ref_num = get_motion_vocab_id(word);
+ // Second conjunct is because the magic-word placeholder is a bit
+ // special
+ if (ref_num != WORD_NOT_FOUND) {
+ *id = ref_num;
+ *type = MOTION;
+ return;
+ }
+
+ ref_num = get_object_vocab_id(word);
+ if (ref_num != WORD_NOT_FOUND) {
+ *id = ref_num;
+ *type = OBJECT;
+ return;
+ }
+
+ ref_num = get_action_vocab_id(word);
+ if (ref_num != WORD_NOT_FOUND && ref_num != PART) {
+ *id = ref_num;
+ *type = ACTION;
+ return;
+ }
+
+ // Check for the reservoir magic word.
+ if (strcasecmp(word, game.zzword) == 0) {
+ *id = PART;
+ *type = ACTION;
+ return;
+ }
+
+ // Check words that are actually numbers.
+ if (is_valid_int(word)) {
+ *id = WORD_EMPTY;
+ *type = NUMERIC;
+ return;
+ }
+
+ *id = WORD_NOT_FOUND;
+ *type = NO_WORD_TYPE;
return;
}
+static void tokenize(char *raw, command_t *cmd) {
+ /*
+ * Be careful about modifying this. We do not want to nuke the
+ * the speech part or ID from the previous turn.
+ */
+ memset(&cmd->word[0].raw, '\0', sizeof(cmd->word[0].raw));
+ memset(&cmd->word[1].raw, '\0', sizeof(cmd->word[1].raw));
+ /* Bound prefix on the %s would be needed to prevent buffer
+ * overflow. We shortstop this more simply by making each
+ * raw-input buffer as long as the entire input buffer. */
+ sscanf(raw, "%s%s", cmd->word[0].raw, cmd->word[1].raw);
-#define TYPE() fTYPE()
-#undef MPINIT
-void fMPINIT(void) {
-long FIRST, I, J, LAST, VAL;
-static long RUNS[7][2] = {32,34, 39,46, 65,90, 97,122, 37,37, 48,57, 0,126};
+ /* (ESR) In oldstyle mode, simulate the uppercasing and truncating
+ * effect on raw tokens of packing them into sixbit characters, 5
+ * to a 32-bit word. This is something the FORTRAN version did
+ * because archaic FORTRAN had no string types. Don Wood's
+ * mechanical translation of 2.5 to C retained the packing and
+ * thus this misfeature.
+ *
+ * It's philosophically questionable whether this is the right
+ * thing to do even in oldstyle mode. On one hand, the text
+ * mangling was not authorial intent, but a result of limitations
+ * in their tools. On the other, not simulating this misbehavior
+ * goes against the goal of making oldstyle as accurate as
+ * possible an emulation of the original UI.
+ *
+ * The definition of TRUNCLEN is dubious. It accurately reflects the
+ * FORTRAN, but it's possible that was a bug and the proper definition
+ * is (TOKLEN).
+ */
+#define TRUNCLEN (TOKLEN + TOKLEN)
+ if (settings.oldstyle) {
+ cmd->word[0].raw[TRUNCLEN] = cmd->word[1].raw[TRUNCLEN] = '\0';
+ for (size_t i = 0; i < strlen(cmd->word[0].raw); i++) {
+ cmd->word[0].raw[i] = toupper(cmd->word[0].raw[i]);
+ }
+ for (size_t i = 0; i < strlen(cmd->word[1].raw); i++) {
+ cmd->word[1].raw[i] = toupper(cmd->word[1].raw[i]);
+ }
+ }
-
- for (I=1; I<=128; I++) {
- MAP1[I]= -1;
- } /* end loop */
- VAL=0;
- for (I=0; I<7; I++) {
- FIRST=RUNS[I][0];
- LAST=RUNS[I][1];
- /* 22 */ for (J=FIRST; J<=LAST; J++) {
- J++; if(MAP1[J] >= 0) goto L22;
- MAP1[J]=VAL;
- VAL=VAL+1;
-L22: J--;
- } /* end loop */
- /*etc*/ ;
- } /* end loop */
- MAP1[128]=MAP1[10];
-/* For this version, tab (9) maps to space (32), so del (127) uses tab's value */
- MAP1[10]=MAP1[33];
- MAP1[11]=MAP1[33];
-
- for (I=0; I<=126; I++) {
- I++; VAL=MAP1[I]+1; I--;
- MAP2[VAL]=I*('B'-'A');
- if(I >= 64)MAP2[VAL]=(I-64)*('B'-'A')+'@';
- } /* end loop */
-
- return;
+ /* populate command with parsed vocabulary metadata */
+ get_vocab_metadata(cmd->word[0].raw, &(cmd->word[0].id),
+ &(cmd->word[0].type));
+ get_vocab_metadata(cmd->word[1].raw, &(cmd->word[1].id),
+ &(cmd->word[1].type));
+ cmd->state = TOKENIZED;
}
+bool get_command_input(command_t *command) {
+ /* Get user input on stdin, parse and map to command */
+ char inputbuf[LINESIZE];
+ char *input;
+ for (;;) {
+ input = get_input();
+ if (input == NULL) {
+ return false;
+ }
+ if (word_count(input) > 2) {
+ rspeak(TWO_WORDS);
+ free(input);
+ continue;
+ }
+ if (strcmp(input, "") != 0) {
+ break;
+ }
+ free(input);
+ }
-#define MPINIT() fMPINIT()
-#undef SAVEIO
-void fSAVEIO(long OP, long IN, long ARR[]) {
-static FILE *F; char NAME[50];
+ strncpy(inputbuf, input, LINESIZE - 1);
+ free(input);
-/* If OP=0, ask for a file name and open a file. (If IN=true, the file is for
- * input, else output.) If OP>0, read/write ARR from/into the previously-opened
- * file. (ARR is a 250-integer array.) If OP<0, finish reading/writing the
- * file. (Finishing writing can be a no-op if a "stop" statement does it
- * automatically. Finishing reading can be a no-op as long as a subsequent
- * SAVEIO(0,false,X) will still work.) If you can catch errors (e.g., no such
- * file) and try again, great. DEC F40 can't. */
+ tokenize(inputbuf, command);
+#ifdef GDEBUG
+ /* Needs to stay synced with enum word_type_t */
+ const char *types[] = {"NO_WORD_TYPE", "MOTION", "OBJECT", "ACTION",
+ "NUMERIC"};
+ /* needs to stay synced with enum speechpart */
+ const char *roles[] = {"unknown", "intransitive", "transitive"};
+ printf(
+ "Command: role = %s type1 = %s, id1 = %d, type2 = %s, id2 = %d\n",
+ roles[command->part], types[command->word[0].type],
+ command->word[0].id, types[command->word[1].type],
+ command->word[1].id);
+#endif
- {long ifvar; ifvar=(OP); switch (ifvar<0? -1 : ifvar>0? 1 : 0) { case -1:
- goto L10; case 0: goto L20; case 1: goto L30; }}
-
-L10: fclose(F);
- return;
-
-L20: printf("\nFile name: ");
- IGNORE(fgets(NAME, sizeof(NAME), stdin));
- F=fopen(NAME,(IN ? READ_MODE : WRITE_MODE));
- if(F == NULL) {printf("Can't open file, try again.\n"); goto L20;}
- return;
-
-L30: if(IN)IGNORE(fread(ARR,sizeof(long),250,F));
- if(!IN)fwrite(ARR,sizeof(long),250,F);
- return;
-
+ command->state = GIVEN;
+ return true;
}
+void clear_command(command_t *cmd) {
+ /* Resets the state of the command to empty */
+ cmd->verb = ACT_NULL;
+ cmd->part = unknown;
+ game.oldobj = cmd->obj;
+ cmd->obj = NO_OBJECT;
+ cmd->state = EMPTY;
+}
+void juggle(obj_t object) {
+ /* Juggle an object by picking it up and putting it down again, the
+ * purpose being to get the object to the front of the chain of things
+ * at its loc. */
+ loc_t i, j;
-long fIABS(N)long N; {return(N<0? -N : N);}
-long fMOD(N,M)long N, M; {return(N%M);}
+ i = game.objects[object].place;
+ j = game.objects[object].fixed;
+ move(object, i);
+ move(object + NOBJECTS, j);
+}
+
+void move(obj_t object, loc_t where) {
+ /* Place any object anywhere by picking it up and dropping it. May
+ * already be toting, in which case the carry is a no-op. Mustn't
+ * pick up objects which are not at any loc, since carry wants to
+ * remove objects from game atloc chains. */
+ loc_t from;
+
+ if (object > NOBJECTS) {
+ from = game.objects[object - NOBJECTS].fixed;
+ } else {
+ from = game.objects[object].place;
+ }
+ /* (ESR) Used to check for !SPECIAL(from). I *think* that was wrong...
+ */
+ if (from != LOC_NOWHERE && from != CARRIED) {
+ carry(object, from);
+ }
+ drop(object, where);
+}
+
+void put(obj_t object, loc_t where, int pval) {
+ /* put() is the same as move(), except the object is stashed and
+ * can no longer be picked up. */
+ move(object, where);
+ OBJECT_STASHIFY(object, pval);
+#ifdef OBJECT_SET_SEEN
+ OBJECT_SET_SEEN(object);
+#endif
+}
+
+void carry(obj_t object, loc_t where) {
+ /* Start toting an object, removing it from the list of things at its
+ * former location. Incr holdng unless it was already being toted. If
+ * object>NOBJECTS (moving "fixed" second loc), don't change game.place
+ * or game.holdng. */
+ int temp;
+
+ if (object <= NOBJECTS) {
+ if (game.objects[object].place == CARRIED) {
+ return;
+ }
+ game.objects[object].place = CARRIED;
+
+ /*
+ * Without this conditional your inventory is overcounted
+ * when you pick up the bird while it's caged. This fixes
+ * a cosmetic bug in the original.
+ *
+ * Possibly this check should be skipped whwn oldstyle is on.
+ */
+ if (object != BIRD) {
+ ++game.holdng;
+ }
+ }
+ if (game.locs[where].atloc == object) {
+ game.locs[where].atloc = game.link[object];
+ return;
+ }
+ temp = game.locs[where].atloc;
+ while (game.link[temp] != object) {
+ temp = game.link[temp];
+ }
+ game.link[temp] = game.link[object];
+}
+
+void drop(obj_t object, loc_t where) {
+ /* Place an object at a given loc, prefixing it onto the game atloc
+ * list. Decr game.holdng if the object was being toted. No state
+ * change on the object. */
+ if (object > NOBJECTS) {
+ game.objects[object - NOBJECTS].fixed = where;
+ } else {
+ if (game.objects[object].place == CARRIED) {
+ if (object != BIRD) {
+ /* The bird has to be weightless. This ugly
+ * hack (and the corresponding code in the carry
+ * function) brought to you by the fact that
+ * when the bird is caged, we need to be able to
+ * either 'take bird' or 'take cage' and have
+ * the right thing happen.
+ */
+ --game.holdng;
+ }
+ }
+ game.objects[object].place = where;
+ }
+ if (where == LOC_NOWHERE || where == CARRIED) {
+ return;
+ }
+ game.link[object] = game.locs[where].atloc;
+ game.locs[where].atloc = object;
+}
+
+int atdwrf(loc_t where) {
+ /* Return the index of first dwarf at the given location, zero if no
+ * dwarf is there (or if dwarves not active yet), -1 if all dwarves are
+ * dead. Ignore the pirate (6th dwarf). */
+ int at;
+
+ at = 0;
+ if (game.dflag < 2) {
+ return at;
+ }
+ at = -1;
+ for (int i = 1; i <= NDWARVES - 1; i++) {
+ if (game.dwarves[i].loc == where) {
+ return i;
+ }
+ if (game.dwarves[i].loc != 0) {
+ at = 0;
+ }
+ }
+ return at;
+}
+
+/* Utility routines (setbit, tstbit, set_seed, get_next_lcg_value,
+ * randrange) */
+
+int setbit(int bit) {
+ /* Returns 2**bit for use in constructing bit-masks. */
+ return (1L << bit);
+}
+
+bool tstbit(int mask, int bit) {
+ /* Returns true if the specified bit is set in the mask. */
+ return (mask & (1 << bit)) != 0;
+}
+
+void set_seed(int32_t seedval) {
+ /* Set the LCG1 seed */
+ game.lcg_x = seedval % LCG_M;
+ if (game.lcg_x < 0) {
+ game.lcg_x = LCG_M + game.lcg_x;
+ }
+ // once seed is set, we need to generate the Z`ZZZ word
+ for (int i = 0; i < 5; ++i) {
+ game.zzword[i] = 'A' + randrange(26);
+ }
+ game.zzword[1] = '\''; // force second char to apostrophe
+ game.zzword[5] = '\0';
+}
+
+static int32_t get_next_lcg_value(void) {
+ /* Return the LCG's current value, and then iterate it. */
+ int32_t old_x = game.lcg_x;
+ game.lcg_x = (LCG_A * game.lcg_x + LCG_C) % LCG_M;
+ if (settings.debug) {
+ printf("# random %d\n", old_x); // LCOV_EXCL_LINE
+ }
+ return old_x;
+}
+
+int32_t randrange(int32_t range) {
+ /* Return a random integer from [0, range). */
+ return range * get_next_lcg_value() / LCG_M;
+}
+
+// LCOV_EXCL_START
+void bug(enum bugtype num, const char *error_string) {
+ fprintf(stderr, "Fatal error %d, %s.\n", num, error_string);
+ exit(EXIT_FAILURE);
+}
+// LCOV_EXCL_STOP
+
+void state_change(obj_t obj, int state) {
+ /* Object must have a change-message list for this to be useful; only
+ * some do */
+ game.objects[obj].prop = state;
+ pspeak(obj, change, true, state);
+}
+
+/* end */
diff --git a/misc.h b/misc.h
deleted file mode 100644
index 19612b0..0000000
--- a/misc.h
+++ /dev/null
@@ -1,76 +0,0 @@
-#include
-#include
-
-/* b is not needed for POSIX but harmless */
-#define READ_MODE "rb"
-#define WRITE_MODE "wb"
-
-extern void fSPEAK(long);
-#define SPEAK(N) fSPEAK(N)
-extern void fPSPEAK(long,long);
-#define PSPEAK(MSG,SKIP) fPSPEAK(MSG,SKIP)
-extern void fRSPEAK(long);
-#define RSPEAK(I) fRSPEAK(I)
-extern void fSETPRM(long,long,long);
-#define SETPRM(FIRST,P1,P2) fSETPRM(FIRST,P1,P2)
-extern void fGETIN(long*,long*,long*,long*);
-#define GETIN(WORD1,WORD1X,WORD2,WORD2X) fGETIN(&WORD1,&WORD1X,&WORD2,&WORD2X)
-extern long fYES(long,long,long);
-#define YES(X,Y,Z) fYES(X,Y,Z)
-extern long fGETNUM(FILE *);
-#define GETNUM(K) fGETNUM(K)
-extern long fGETTXT(long,long,long,long);
-#define GETTXT(SKIP,ONEWRD,UPPER,HASH) fGETTXT(SKIP,ONEWRD,UPPER,HASH)
-extern long fMAKEWD(long);
-#define MAKEWD(LETTRS) fMAKEWD(LETTRS)
-extern void fPUTTXT(long,long*,long,long);
-#define PUTTXT(WORD,STATE,CASE,HASH) fPUTTXT(WORD,&STATE,CASE,HASH)
-extern void fSHFTXT(long,long);
-#define SHFTXT(FROM,DELTA) fSHFTXT(FROM,DELTA)
-extern void fTYPE0();
-#define TYPE0() fTYPE0()
-extern void fSAVWDS(long*,long*,long*,long*,long*,long*,long*);
-#define SAVWDS(W1,W2,W3,W4,W5,W6,W7) fSAVWDS(&W1,&W2,&W3,&W4,&W5,&W6,&W7)
-extern void fSAVARR(long*,long);
-#define SAVARR(ARR,N) fSAVARR(ARR,N)
-extern void fSAVWRD(long,long*);
-#define SAVWRD(OP,WORD) fSAVWRD(OP,&WORD)
-extern long fVOCAB(long,long);
-#define VOCAB(ID,INIT) fVOCAB(ID,INIT)
-extern void fDSTROY(long);
-#define DSTROY(OBJECT) fDSTROY(OBJECT)
-extern void fJUGGLE(long);
-#define JUGGLE(OBJECT) fJUGGLE(OBJECT)
-extern void fMOVE(long,long);
-#define MOVE(OBJECT,WHERE) fMOVE(OBJECT,WHERE)
-extern long fPUT(long,long,long);
-#define PUT(OBJECT,WHERE,PVAL) fPUT(OBJECT,WHERE,PVAL)
-extern void fCARRY(long,long);
-#define CARRY(OBJECT,WHERE) fCARRY(OBJECT,WHERE)
-extern void fDROP(long,long);
-#define DROP(OBJECT,WHERE) fDROP(OBJECT,WHERE)
-extern long fATDWRF(long);
-#define ATDWRF(WHERE) fATDWRF(WHERE)
-extern long fSETBIT(long);
-#define SETBIT(BIT) fSETBIT(BIT)
-extern long fTSTBIT(long,long);
-#define TSTBIT(MASK,BIT) fTSTBIT(MASK,BIT)
-extern long fRAN(long);
-#define RAN(RANGE) fRAN(RANGE)
-extern long fRNDVOC(long,long);
-#define RNDVOC(CHAR,FORCE) fRNDVOC(CHAR,FORCE)
-extern void fBUG(long);
-#define BUG(NUM) fBUG(NUM)
-extern void fMAPLIN(FILE *);
-#define MAPLIN(FIL) fMAPLIN(FIL)
-extern void fTYPE();
-#define TYPE() fTYPE()
-extern void fMPINIT();
-#define MPINIT() fMPINIT()
-extern void fSAVEIO(long,long,long*);
-#define SAVEIO(OP,IN,ARR) fSAVEIO(OP,IN,ARR)
-#define DATIME(D,T) do {struct timespec ts; clock_gettime(CLOCK_REALTIME, &ts); D=ts.tv_sec, T=ts.tv_nsec;} while (0)
-extern long fIABS(long);
-#define IABS(N) fIABS(N)
-extern long fMOD(long,long);
-#define MOD(N,M) fMOD(N,M)
diff --git a/notes.adoc b/notes.adoc
new file mode 100644
index 0000000..a247e49
--- /dev/null
+++ b/notes.adoc
@@ -0,0 +1,229 @@
+= Open Adventure Maintainer's Notes =
+by Eric S. Raymond
+// SPDX-FileCopyrightText: (C) Eric S. Raymond
+// SPDX-License-Identifier: CC-BY-4.0
+
+In which we explain what has been done to this code since Don Woods
+authorized us to ship it under an open-source license. There's a
+separate link:history.html[history] describing how it came to us.
+
+== Who we are ==
+
+The principal maintainers of this code are Eric S. Raymond and Jason
+Ninneman. Eric received Don Woods's encouragement to update and ship
+the game; Jason signed on early in the process to help. The assistance
+of Peje Nilsson in restructuring some particularly grotty gotos is
+gratefully acknowledged. Petr Voropaev contributed fuzz testing and
+code cleanups. Aaron Traas did a lot of painstaking work to improve
+test coverage, and factored out the last handful of gotos. Ryan
+Sarson nudged us into fixing a longstanding minor bug in the
+handling of incorrect magic-word sequences,
+
+== Nomenclature ==
+
+This project is called "Open Adventure" because it's not at all clear
+to number Adventure past 2.5 without misleading or causing
+collisions. Various of the non-mainline versions have claimed to be
+versions 3, 4, 5, 6, 7 and for all I know higher than that. It seems
+best just to start a new numbering series while acknowledging the
+links back.
+
+We have reverted to "advent" for the binary to avoid a name collision
+with the BSD Games version.
+
+== Philosophy ==
+
+Extreme care has been taken not to make changes that would alter the
+logic of the game as we received it from Don Woods, except to fix
+glitches that were clearly bugs. By policy, all user-visible
+changes to gameplay must be revertible with the -o (oldstyle) option.
+
+It is a goal of this project to exactly preserve the *intended
+behavior* of 430-point Adventure, but the implementation of it is fair
+game for improvement. In particular, we are concerned to move it to a
+form that is (a) readable, and (b) friendly to forward translation to
+future languages. It has already survived a move from FORTRAN to C; a
+future as a Python or Go translation seems possible, even probable.
+
+Compatibility with the 2.5 source we found has been checked by
+building a version patched minimally to support the seed command and
+running it against the entire test suite, which has 100% code
+coverage.
+
+== Functional changes ==
+
+Bug fixes:
+
+* The caged bird used to be counted as two items in your inventory.
+
+* Reading the relocated Witt's End sign in the endgame didn't work right.
+
+* Oyster was readable after first gotten even when not carried.
+
+* Response to an attempt to unlock the oyster while carrying it was incorrect.
+
+* Behavior when saying the giant's magic words before having seen them
+ wasn't quite correct - the game responded as though the player had
+ already read them ("...can't you read?"). The new message is "Well,
+ that was remarkably pointless!" The -o option reverts this change.
+
+* Attempting to extinguish an unlit urn caused it to lose its oil.
+
+* "A crystal bridge now spans the fissure." (progressive present) was
+ incorrect most places it appeared and has been replaced by "A crystal
+ bridge spans the fissure." (timeless present).
+
+* A few minor typos have been corrected: absence of capitalization on
+ "Swiss" and "Persian", inconsistent spelling of "imbedded" vs. "embedded",
+ "eying" for "eyeing", "thresholds" for "threshholds", "pencilled"
+ for "penciled".
+
+* Under odd circumstances (dropping rug or vase outdoors) the game could
+ formerly say "floor" when it should say "ground" (or "dirt", or
+ something).
+
+* The "knives vanish" message could formerly be emitted when "I see no
+ knife here." would be appropriate.
+
+Enhancements:
+
+By default, advent issues "> " as a command prompt. This feature
+became common in many variants after the original 350-point version,
+but was never backported into Crowther & Woods's main line before now.
+The "-o" (oldstyle) option reverts the behavior.
+
+There is a set of standard one-letter command aliases conventional in modern
+text adventure games; 'l' and 'x'; for 'look' (or 'examine'), 'z' to do nothing
+for a turn, 'i' for 'inventory', 'g' for 'get', and 'd' for 'drop'. The 'd'
+alias collides with 'd' for 'down', but the others have been implemented.
+The "-o" (oldstyle) option disables them.
+
+Unrecognized words are no longer truncated to 5 characters and
+uppercased when they are echoed. The "-o" (oldstyle) option restores
+this behavior.
+
+A "seed" command has been added. This is not intended for human use
+but as a way for game logs to set the PRNG (pseudorandom-number generator) so
+that random events (dwarf & pirate appearances, the bird's magic word)
+will be reproducible.
+
+A "version" command has been added. This has no effect on gameplay.
+
+The text displayed by the "news" command has been updated.
+
+A -l command-line option has been added. When this is given (with a
+file path argument) each command entered will be logged to the
+specified file. Additionally, a generated "seed" command will be put
+early in the file capturing the randomized start state of the PRNG
+so that replays of the log will be reproducible.
+
+Using "seed" and -l, the distribution now includes a regression-test
+suite for the game. Any log captured with -l (and thus containing
+a "seed" command) will replay reliably, including random events.
+
+The adventure.text file is no longer required at runtime. Instead, an
+adventure.yaml file is compiled at build time to a source module
+containing C structures, which is then linked to the advent
+binary. The YAML is drastically easier to read and edit than
+the old ad-hoc format of adventure.txt.
+
+The game-save format has changed. This was done to simplify the
+FORTRAN-derived code that formerly implemented the save/restore
+functions; without C's fread(3)/fwrite() and structs it was
+necessarily pretty ugly by modern standards. Encryption and
+checksumming have been discarded - it's pointless to try
+tamper-proofing saves when everyone has the source code. However
+the game still integrity-checks savefiles on resume, including an
+abort if the endianness of the restoring machine does not match that of
+the saving machine. There is a magic-cookie header on the saves so
+in theory they could be identified by programs like file(1).
+
+Save and resume filenames are stripped of leading and trailing
+whitespace before processing.
+
+A -r command-line option has been added. When it is given (with a file
+path argument) it is functionally equivalent to a RESTORE command.
+
+An -a command-line option has been added (conditionally on
+ADVENT_AUTOSAVE) for use in BBS door systems. When this option is
+given, the game roads from the specified filename argument on startup
+and saves to it on quit or a received signal. There is a new nmessage
+to inform the user about this.
+
+The game can be built in a mode that entirely disables save/resume
+(-DADVENT_NOSAVE). If the game had been built this way, a diagnostic is
+emitted if you try to save or resume.
+
+== Translation ==
+
+The 2.5 code was a mechanical C translation of a FORTRAN original.
+There were gotos everywhere and the code was, though functional,
+ugly and quite unreadable.
+
+Jason Ninneman and I have moved it to what is almost, but not quite,
+idiomatic modern C. We refactored the right way, checking correctness
+against a comprehensive test suite that we built first and verified
+with coverage tools (there is effectively 100% code coverage). This is
+what you are running when you do "make check".
+
+The move to modern C entailed some structural changes. The most
+important was the refactoring of over 350 gotos into if/loop/break
+structures. We also abolished almost all shared globals; the main one
+left is a struct holding the game's saveable/restorable state.
+
+The original code was greatly complicated by a kind of bit-packing
+that was performed because the FORTRAN it was written in had no string
+type. Text from the adventure.text file was compiled into sequences
+of sixbit code points in a restricted character set, packed 5 to a
+32-bit word (and it seems clear from the code that words were originally
+*6* chars each packed into a PDP-10 36-bit word). A command noun or
+verb was one of these words, and what would be string operations in a
+more recent language were all done on sequences of these words.
+
+We have removed all this bit-packing cruft in favor of proper C
+strings. C strings may be a weak and leaky abstraction, but this is
+one of the rare cases in which they are an obvious improvement over
+what they're displacing...
+
+We have also conducted extensive fuzz testing on the game using
+afl (American Fuzzy Lop). We've found and fixed some crashers in
+our new code (which occasionally uses malloc(3)), but none as yet
+in Don's old code (which didn't).
+
+After version 1.11, correctness was carefully checked against the
+behavior of a binary from before the big refactoring.
+
+The code falls short of being fully modern C in the following
+ways:
+
+* We have not attempted to translate the old code to pointer-based
+ idioms (as opposed, in particular, to integer-based array indexing).
+ We don't need whatever minor performance gains this might collect,
+ and the choice to refrain will make forward translation into future
+ languages easier.
+
+* Linked lists (for objects at a location) are implemented using an array
+ of link indices. This is a surviving FORTRANism that is quite unlike
+ normal practice in C or any more modern language. We have not tried
+ to fix it because doing so would (a) be quite difficult, and (b)
+ compromise forward-portability to other languages.
+
+* Much of the code still assumes one-origin array indexing. Thus,
+ arrays are a cell larger than they strictly need to be and cell 0 is
+ unused.
+
+We have made exactly one minor architectural change. In addition to the
+old code's per-object state-description messages, we now have a per-object
+message series for state *changes*. This makes it possible to pull a fair
+amount of text out of the arbitrary-messages list and associate those
+messages with the objects that conceptually own them.
+
+== Development status ==
+
+We consider this project finished. All issues and TODOs have been
+cleared, behavior has been carefully checked against original ADVENT,
+no future demand for new features is expected, and the test suite has
+100% code coverage. If new bugs appear as the toolchain bit-rots out
+from under underneath, we will fix those problems.
+
+// end
diff --git a/saveresume.c b/saveresume.c
new file mode 100644
index 0000000..1c778ef
--- /dev/null
+++ b/saveresume.c
@@ -0,0 +1,267 @@
+/*
+ * Saving and resuming.
+ *
+ * (ESR) This replaces a bunch of particularly nasty FORTRAN-derived code;
+ * see the history.adoc file in the source distribution for discussion.
+ *
+ * SPDX-FileCopyrightText: (C) 1977, 2005 by Will Crowther and Don Woods
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#include
+#include
+#include
+#include
+#include
+
+#include "advent.h"
+
+/*
+ * Use this to detect endianness mismatch. Can't be unchanged by byte-swapping.
+ */
+#define ENDIAN_MAGIC 2317
+
+struct save_t save;
+
+#define IGNORE(r) \
+ do { \
+ if (r) { \
+ } \
+ } while (0)
+
+int savefile(FILE *fp) {
+ /* Save game to file. No input or output from user. */
+ memcpy(&save.magic, ADVENT_MAGIC, sizeof(ADVENT_MAGIC));
+ if (save.version == 0) {
+ save.version = SAVE_VERSION;
+ }
+ if (save.canary == 0) {
+ save.canary = ENDIAN_MAGIC;
+ }
+ save.game = game;
+ IGNORE(fwrite(&save, sizeof(struct save_t), 1, fp));
+ return (0);
+}
+
+/* Suspend and resume */
+
+static char *strip(char *name) {
+ // Trim leading whitespace
+ while (isspace((unsigned char)*name)) {
+ name++; // LCOV_EXCL_LINE
+ }
+ if (*name != '\0') {
+ // Trim trailing whitespace;
+ // might be left there by autocomplete
+ char *end = name + strlen(name) - 1;
+ while (end > name && isspace((unsigned char)*end)) {
+ end--;
+ }
+ // Write new null terminator character
+ end[1] = '\0';
+ }
+
+ return name;
+}
+
+int suspend(void) {
+ /* Suspend. Offer to save things in a file, but charging
+ * some points (so can't win by using saved games to retry
+ * battles or to start over after learning zzword).
+ * If ADVENT_NOSAVE is defined, gripe instead. */
+
+#if defined ADVENT_NOSAVE || defined ADVENT_AUTOSAVE
+ rspeak(SAVERESUME_DISABLED);
+ return GO_TOP;
+#endif
+ FILE *fp = NULL;
+
+ rspeak(SUSPEND_WARNING);
+ if (!yes_or_no(arbitrary_messages[THIS_ACCEPTABLE],
+ arbitrary_messages[OK_MAN],
+ arbitrary_messages[OK_MAN])) {
+ return GO_CLEAROBJ;
+ }
+ game.saved = game.saved + 5;
+
+ while (fp == NULL) {
+ char *name = myreadline("\nFile name: ");
+ if (name == NULL) {
+ return GO_TOP;
+ }
+ name = strip(name);
+ if (strlen(name) == 0) {
+ return GO_TOP; // LCOV_EXCL_LINE
+ }
+ fp = fopen(strip(name), WRITE_MODE);
+ if (fp == NULL) {
+ printf("Can't open file %s, try again.\n", name);
+ }
+ free(name);
+ }
+
+ savefile(fp);
+ fclose(fp);
+ rspeak(RESUME_HELP);
+ exit(EXIT_SUCCESS);
+}
+
+int resume(void) {
+ /* Resume. Read a suspended game back from a file.
+ * If ADVENT_NOSAVE is defined, gripe instead. */
+
+#if defined ADVENT_NOSAVE || defined ADVENT_AUTOSAVE
+ rspeak(SAVERESUME_DISABLED);
+ return GO_TOP;
+#endif
+ FILE *fp = NULL;
+
+ if (game.loc != LOC_START || game.locs[LOC_START].abbrev != 1) {
+ rspeak(RESUME_ABANDON);
+ if (!yes_or_no(arbitrary_messages[THIS_ACCEPTABLE],
+ arbitrary_messages[OK_MAN],
+ arbitrary_messages[OK_MAN])) {
+ return GO_CLEAROBJ;
+ }
+ }
+
+ while (fp == NULL) {
+ char *name = myreadline("\nFile name: ");
+ if (name == NULL) {
+ return GO_TOP;
+ }
+ name = strip(name);
+ if (strlen(name) == 0) {
+ return GO_TOP; // LCOV_EXCL_LINE
+ }
+ fp = fopen(name, READ_MODE);
+ if (fp == NULL) {
+ printf("Can't open file %s, try again.\n", name);
+ }
+ free(name);
+ }
+
+ return restore(fp);
+}
+
+int restore(FILE *fp) {
+ /* Read and restore game state from file, assuming
+ * sane initial state.
+ * If ADVENT_NOSAVE is defined, gripe instead. */
+#ifdef ADVENT_NOSAVE
+ rspeak(SAVERESUME_DISABLED);
+ return GO_TOP;
+#endif
+
+ IGNORE(fread(&save, sizeof(struct save_t), 1, fp));
+ fclose(fp);
+ if (memcmp(save.magic, ADVENT_MAGIC, sizeof(ADVENT_MAGIC)) != 0 ||
+ save.canary != ENDIAN_MAGIC) {
+ rspeak(BAD_SAVE);
+ } else if (save.version != SAVE_VERSION) {
+ rspeak(VERSION_SKEW, save.version / 10, MOD(save.version, 10),
+ SAVE_VERSION / 10, MOD(SAVE_VERSION, 10));
+ } else if (!is_valid(save.game)) {
+ rspeak(SAVE_TAMPERING);
+ exit(EXIT_SUCCESS);
+ } else {
+ game = save.game;
+ }
+ return GO_TOP;
+}
+
+bool is_valid(struct game_t valgame) {
+ /* Save files can be roughly grouped into three groups:
+ * With valid, reachable state, with valid, but unreachable
+ * state and with invalid state. We check that state is
+ * valid: no states are outside minimal or maximal value
+ */
+
+ /* Prevent division by zero */
+ if (valgame.abbnum == 0) {
+ return false; // LCOV_EXCL_LINE
+ }
+
+ /* Check for RNG overflow. Truncate */
+ if (valgame.lcg_x >= LCG_M) {
+ return false;
+ }
+
+ /* Bounds check for locations */
+ if (valgame.chloc < -1 || valgame.chloc > NLOCATIONS ||
+ valgame.chloc2 < -1 || valgame.chloc2 > NLOCATIONS ||
+ valgame.loc < 0 || valgame.loc > NLOCATIONS || valgame.newloc < 0 ||
+ valgame.newloc > NLOCATIONS || valgame.oldloc < 0 ||
+ valgame.oldloc > NLOCATIONS || valgame.oldlc2 < 0 ||
+ valgame.oldlc2 > NLOCATIONS) {
+ return false; // LCOV_EXCL_LINE
+ }
+ /* Bounds check for location arrays */
+ for (int i = 0; i <= NDWARVES; i++) {
+ if (valgame.dwarves[i].loc < -1 ||
+ valgame.dwarves[i].loc > NLOCATIONS ||
+ valgame.dwarves[i].oldloc < -1 ||
+ valgame.dwarves[i].oldloc > NLOCATIONS) {
+ return false; // LCOV_EXCL_LINE
+ }
+ }
+
+ for (int i = 0; i <= NOBJECTS; i++) {
+ if (valgame.objects[i].place < -1 ||
+ valgame.objects[i].place > NLOCATIONS ||
+ valgame.objects[i].fixed < -1 ||
+ valgame.objects[i].fixed > NLOCATIONS) {
+ return false; // LCOV_EXCL_LINE
+ }
+ }
+
+ /* Bounds check for dwarves */
+ if (valgame.dtotal < 0 || valgame.dtotal > NDWARVES ||
+ valgame.dkill < 0 || valgame.dkill > NDWARVES) {
+ return false; // LCOV_EXCL_LINE
+ }
+
+ /* Validate that we didn't die too many times in save */
+ if (valgame.numdie >= NDEATHS) {
+ return false; // LCOV_EXCL_LINE
+ }
+
+ /* Recalculate tally, throw the towel if in disagreement */
+ int temp_tally = 0;
+ for (int treasure = 1; treasure <= NOBJECTS; treasure++) {
+ if (objects[treasure].is_treasure) {
+ if (OBJECT_IS_NOTFOUND2(valgame, treasure)) {
+ ++temp_tally;
+ }
+ }
+ }
+ if (temp_tally != valgame.tally) {
+ return false; // LCOV_EXCL_LINE
+ }
+
+ /* Check that properties of objects aren't beyond expected */
+ for (obj_t obj = 0; obj <= NOBJECTS; obj++) {
+ if (PROP_IS_INVALID(valgame.objects[obj].prop)) {
+ return false; // LCOV_EXCL_LINE
+ }
+ }
+
+ /* Check that values in linked lists for objects in locations are inside
+ * bounds */
+ for (loc_t loc = LOC_NOWHERE; loc <= NLOCATIONS; loc++) {
+ if (valgame.locs[loc].atloc < NO_OBJECT ||
+ valgame.locs[loc].atloc > NOBJECTS * 2) {
+ return false; // LCOV_EXCL_LINE
+ }
+ }
+ for (obj_t obj = 0; obj <= NOBJECTS * 2; obj++) {
+ if (valgame.link[obj] < NO_OBJECT ||
+ valgame.link[obj] > NOBJECTS * 2) {
+ return false; // LCOV_EXCL_LINE
+ }
+ }
+
+ return true;
+}
+
+/* end */
diff --git a/score.c b/score.c
index 162cc5d..ad1c00a 100644
--- a/score.c
+++ b/score.c
@@ -1,117 +1,162 @@
-#include
-#include "misc.h"
-#include "main.h"
-#include "share.h"
-
/*
- * scoring and wrap-up
+ * Scoring and wrap-up.
+ *
+ * SPDX-FileCopyrightText: (C) 1977, 2005 by Will Crowther and Don Woods
+ * SPDX-License-Identifier: BSD-2-Clause
*/
+#include "advent.h"
+#include "dungeon.h"
+#include
-void score(long MODE) {
- /* <0 if scoring, >0 if quitting, =0 if died or won */
+static int mxscor; /* ugh..the price for having score() not exit. */
-/* The present scoring algorithm is as follows:
- * Objective: Points: Present total possible:
- * Getting well into cave 25 25
- * Each treasure < chest 12 60
- * Treasure chest itself 14 14
- * Each treasure > chest 16 224
- * Surviving (MAX-NUM)*10 30
- * Not quitting 4 4
- * Reaching "CLOSNG" 25 25
- * "Closed": Quit/Killed 10
- * Klutzed 25
- * Wrong way 30
- * Success 45 45
- * Came to Witt's End 1 1
- * Round out the total 2 2
- * TOTAL: 430
- * Points can also be deducted for using hints or too many turns, or for
- * saving intermediate positions. */
+int score(enum termination mode) {
+ /* mode is 'scoregame' if scoring, 'quitgame' if quitting, 'endgame' if
+ * died or won */
+ int score = 0;
- SCORE=0;
- MXSCOR=0;
+ /* The present scoring algorithm is as follows:
+ * Objective: Points: Present total possible:
+ * Getting well into cave 25 25
+ * Each treasure < chest 12 60
+ * Treasure chest itself 14 14
+ * Each treasure > chest 16 224
+ * Surviving (MAX-NUM)*10 30
+ * Not quitting 4 4
+ * Reaching "game.closng" 25 25
+ * "Closed": Quit/Killed 10
+ * Klutzed 25
+ * Wrong way 30
+ * Success 45 45
+ * Came to Witt's End 1 1
+ * Round out the total 2 2
+ * TOTAL: 430
+ * Points can also be deducted for using hints or too many turns, or
+ * for saving intermediate positions. */
-/* First tally up the treasures. Must be in building and not broken.
- * Give the poor guy 2 points just for finding each treasure. */
+ /* First tally up the treasures. Must be in building and not broken.
+ * Give the poor guy 2 points just for finding each treasure. */
+ mxscor = 0;
+ for (int i = 1; i <= NOBJECTS; i++) {
+ if (!objects[i].is_treasure) {
+ continue;
+ }
+ if (objects[i].inventory != 0) {
+ int k = 12;
+ if (i == CHEST) {
+ k = 14;
+ }
+ if (i > CHEST) {
+ k = 16;
+ }
+ if (!OBJECT_IS_STASHED(i) && !OBJECT_IS_NOTFOUND(i)) {
+ score += 2;
+ }
+ if (game.objects[i].place == LOC_BUILDING &&
+ OBJECT_IS_FOUND(i)) {
+ score += k - 2;
+ }
+ mxscor += k;
+ }
+ }
- /* 20010 */ for (I=50; I<=MAXTRS; I++) {
- if(PTEXT[I] == 0) goto L20010;
- K=12;
- if(I == CHEST)K=14;
- if(I > CHEST)K=16;
- if(PROP[I] >= 0)SCORE=SCORE+2;
- if(PLACE[I] == 3 && PROP[I] == 0)SCORE=SCORE+K-2;
- MXSCOR=MXSCOR+K;
-L20010: /*etc*/ ;
- } /* end loop */
+ /* Now look at how he finished and how far he got. NDEATHS and
+ * game.numdie tell us how well he survived. game.dflag will tell us
+ * if he ever got suitably deep into the cave. game.closng still
+ * indicates whether he reached the endgame. And if he got as far as
+ * "cave closed" (indicated by "game.closed"), then bonus is zero for
+ * mundane exits or 133, 134, 135 if he blew it (so to speak). */
+ score += (NDEATHS - game.numdie) * 10;
+ mxscor += NDEATHS * 10;
+ if (mode == endgame) {
+ score += 4;
+ }
+ mxscor += 4;
+ if (game.dflag != 0) {
+ score += 25;
+ }
+ mxscor += 25;
+ if (game.closng) {
+ score += 25;
+ }
+ mxscor += 25;
+ if (game.closed) {
+ if (game.bonus == none) {
+ score += 10;
+ }
+ if (game.bonus == splatter) {
+ score += 25;
+ }
+ if (game.bonus == defeat) {
+ score += 30;
+ }
+ if (game.bonus == victory) {
+ score += 45;
+ }
+ }
+ mxscor += 45;
-/* Now look at how he finished and how far he got. MAXDIE and NUMDIE tell us
- * how well he survived. DFLAG will
- * tell us if he ever got suitably deep into the cave. CLOSNG still indicates
- * whether he reached the endgame. And if he got as far as "cave closed"
- * (indicated by "CLOSED"), then bonus is zero for mundane exits or 133, 134,
- * 135 if he blew it (so to speak). */
+ /* Did he come to Witt's End as he should? */
+ if (game.objects[MAGAZINE].place == LOC_WITTSEND) {
+ score += 1;
+ }
+ mxscor += 1;
- SCORE=SCORE+(MAXDIE-NUMDIE)*10;
- MXSCOR=MXSCOR+MAXDIE*10;
- if(MODE == 0)SCORE=SCORE+4;
- MXSCOR=MXSCOR+4;
- if(DFLAG != 0)SCORE=SCORE+25;
- MXSCOR=MXSCOR+25;
- if(CLOSNG)SCORE=SCORE+25;
- MXSCOR=MXSCOR+25;
- if(!CLOSED) goto L20020;
- if(BONUS == 0)SCORE=SCORE+10;
- if(BONUS == 135)SCORE=SCORE+25;
- if(BONUS == 134)SCORE=SCORE+30;
- if(BONUS == 133)SCORE=SCORE+45;
-L20020: MXSCOR=MXSCOR+45;
+ /* Round it off. */
+ score += 2;
+ mxscor += 2;
-/* Did he come to Witt's End as he should? */
+ /* Deduct for hints/turns/saves. Hints < 4 are special; see database
+ * desc. */
+ for (int i = 0; i < NHINTS; i++) {
+ if (game.hints[i].used) {
+ score = score - hints[i].penalty;
+ }
+ }
+ if (game.novice) {
+ score -= 5;
+ }
+ if (game.clshnt) {
+ score -= 10;
+ }
+ score = score - game.trnluz - game.saved;
- if(PLACE[MAGZIN] == 108)SCORE=SCORE+1;
- MXSCOR=MXSCOR+1;
-
-/* Round it off. */
-
- SCORE=SCORE+2;
- MXSCOR=MXSCOR+2;
-
-/* Deduct for hints/turns/saves. Hints < 4 are special; see database desc. */
-
- for (I=1; I<=HNTMAX; I++) {
- if(HINTED[I])SCORE=SCORE-HINTS[I][2];
- } /* end loop */
- if(NOVICE)SCORE=SCORE-5;
- if(CLSHNT)SCORE=SCORE-10;
- SCORE=SCORE-TRNLUZ-SAVED;
-
-/* Return to score command if that's where we came from. */
-
- if(MODE < 0) return;
-
-/* that should be good enough. Let's tell him all about it. */
-
- if(SCORE+TRNLUZ+1 >= MXSCOR && TRNLUZ != 0)RSPEAK(242);
- if(SCORE+SAVED+1 >= MXSCOR && SAVED != 0)RSPEAK(143);
- SETPRM(1,SCORE,MXSCOR);
- SETPRM(3,TURNS,TURNS);
- RSPEAK(262);
- for (I=1; I<=CLSSES; I++) {
- if(CVAL[I] >= SCORE) goto L20210;
- /*etc*/ ;
- } /* end loop */
- SPK=265;
- goto L25000;
-
-L20210: SPEAK(CTEXT[I]);
- SPK=264;
- if(I >= CLSSES) goto L25000;
- I=CVAL[I]+1-SCORE;
- SETPRM(1,I,I);
- SPK=263;
-L25000: RSPEAK(SPK);
- exit(0);
+ /* Return to score command if that's where we came from. */
+ if (mode == scoregame) {
+ rspeak(GARNERED_POINTS, score, mxscor, game.turns, game.turns);
+ }
+ return score;
}
+
+void terminate(enum termination mode) {
+ /* End of game. Let's tell him all about it. */
+ int points = score(mode);
+#if defined ADVENT_AUTOSAVE
+ autosave();
+#endif
+
+ if (points + game.trnluz + 1 >= mxscor && game.trnluz != 0) {
+ rspeak(TOOK_LONG);
+ }
+ if (points + game.saved + 1 >= mxscor && game.saved != 0) {
+ rspeak(WITHOUT_SUSPENDS);
+ }
+ rspeak(TOTAL_SCORE, points, mxscor, game.turns, game.turns);
+ for (int i = 1; i <= (int)NCLASSES; i++) {
+ if (classes[i].threshold >= points) {
+ speak(classes[i].message);
+ if (i < (int)NCLASSES) {
+ int nxt = classes[i].threshold + 1 - points;
+ rspeak(NEXT_HIGHER, nxt, nxt);
+ } else {
+ rspeak(NO_HIGHER);
+ }
+ exit(EXIT_SUCCESS);
+ }
+ }
+ rspeak(OFF_SCALE);
+ exit(EXIT_SUCCESS);
+}
+
+/* end */
diff --git a/share.h b/share.h
deleted file mode 100644
index ff4252b..0000000
--- a/share.h
+++ /dev/null
@@ -1,24 +0,0 @@
-extern void score(long);
-extern long ABBNUM, ACTSPK[], AMBER, ATTACK, AXE, BACK, BATTER, BEAR,
- BIRD, BLOOD, BONUS,
- BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST, CHLOC, CHLOC2,
- CLAM, CLOCK1, CLOCK2, CLOSED, CLOSNG, CLSHNT, CLSMAX, CLSSES,
- COINS, COND[], CONDS, CTEXT[], CVAL[], DALTLC, DETAIL,
- DKILL, DOOR, DPRSSN, DRAGON, DSEEN[], DTOTAL, DWARF, EGGS,
- EMRALD, ENTER, ENTRNC, FIND, FISSUR, FIXD[], FOOBAR, FOOD,
- GRATE, HINT, HINTED[], HINTLC[], HINTS[][5], HNTMAX,
- HNTSIZ, I, INVENT, IGO, IWEST, J, JADE, K, K2, KEY[], KEYS, KK,
- KNFLOC, KNIFE, KQ, L, LAMP, LIMIT, LINSIZ, LINUSE, LL,
- LMWARN, LOC, LOCK, LOCSIZ, LOCSND[], LOOK, LTEXT[],
- MAGZIN, MAXDIE, MAXTRS, MESH, MESSAG, MIRROR, MXSCOR,
- NEWLOC, NOVICE, NUGGET, NUL, NUMDIE, OBJ, OBJSND[],
- OBJTXT[], ODLOC[], OGRE, OIL, OLDLC2, OLDLOC, OLDOBJ, OYSTER,
- PANIC, PEARL, PILLOW, PLAC[], PLANT, PLANT2, PROP[], PYRAM,
- RESER, ROD, ROD2, RTXSIZ, RUBY, RUG, SAPPH, SAVED, SAY,
- SCORE, SECT, SETUP, SIGN, SNAKE, SPK, STEPS, STEXT[], STICK,
- STREAM, TABNDX, TALLY, THRESH, THROW, TK[], TRAVEL[], TRIDNT,
- TRNDEX, TRNLUZ, TRNSIZ, TRNVAL[], TRNVLS, TROLL, TROLL2, TRVS,
- TRVSIZ, TTEXT[], TURNS, URN, V1, V2, VASE, VEND, VERB,
- VOLCAN, VRBSIZ, VRSION, WATER, WD1, WD1X, WD2, WD2X,
- WZDARK, ZZWORD;
-
diff --git a/templates/coverage_dungeon.html.tpl b/templates/coverage_dungeon.html.tpl
new file mode 100644
index 0000000..e9f7f74
--- /dev/null
+++ b/templates/coverage_dungeon.html.tpl
@@ -0,0 +1,87 @@
+<--
+SPDX-FileCopyrightText: Copyright Eric S. Raymond
+SPDX-License-Identifier: BSD-2-Clause
+-->
+
+
+
+
+ Coverage - adventure.yaml
+
+
+
+
+
+
+ adventure.yaml Coverage report
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {summary}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/templates/dungeon.c.tpl b/templates/dungeon.c.tpl
new file mode 100644
index 0000000..03640d5
--- /dev/null
+++ b/templates/dungeon.c.tpl
@@ -0,0 +1,59 @@
+/*
+SPDX-FileCopyrightText: Copyright Eric S. Raymond
+SPDX-License-Identifier: BSD-2-Clause
+*/
+
+#include "{h_file}"
+
+const char* arbitrary_messages[] = {{
+{arbitrary_messages}
+}};
+
+const class_t classes[] = {{
+{classes}
+}};
+
+const turn_threshold_t turn_thresholds[] = {{
+{turn_thresholds}
+}};
+
+const location_t locations[] = {{
+{locations}
+}};
+
+const object_t objects[] = {{
+{objects}
+}};
+
+const obituary_t obituaries[] = {{
+{obituaries}
+}};
+
+const hint_t hints[] = {{
+{hints}
+}};
+
+long conditions[] = {{
+{conditions}
+}};
+
+const motion_t motions[] = {{
+{motions}
+}};
+
+const action_t actions[] = {{
+{actions}
+}};
+
+const long tkey[] = {{{tkeys}}};
+
+const travelop_t travel[] = {{
+{travel}
+}};
+
+const char *ignore = "{ignore}";
+
+/* Dwarf starting locations */
+const int dwarflocs[NDWARVES] = {{{dwarflocs}}};
+
+/* end */
diff --git a/templates/dungeon.h.tpl b/templates/dungeon.h.tpl
new file mode 100644
index 0000000..cf637c8
--- /dev/null
+++ b/templates/dungeon.h.tpl
@@ -0,0 +1,167 @@
+/*
+SPDX-FileCopyrightText: Copyright Eric S. Raymond
+SPDX-License-Identifier: BSD-2-Clause
+*/
+#ifndef DUNGEON_H
+#define DUNGEON_H
+
+#include
+#include
+
+#define SILENT -1 /* no sound */
+
+/* Symbols for cond bits */
+#define COND_LIT 0 /* Light */
+#define COND_OILY 1 /* If bit 2 is on: on for oil, off for water */
+#define COND_FLUID 2 /* Liquid asset, see bit 1 */
+#define COND_NOARRR 3 /* Pirate doesn't go here unless following */
+#define COND_NOBACK 4 /* Cannot use "back" to move away */
+#define COND_ABOVE 5 /* Aboveground, but not in forest */
+#define COND_DEEP 6 /* Deep - e.g where dwarves are active */
+#define COND_FOREST 7 /* In the forest */
+#define COND_FORCED 8 /* Only one way in or out of here */
+#define COND_ALLDIFFERENT 9 /* Room is in maze all different */
+#define COND_ALLALIKE 10 /* Room is in maze all alike */
+/* Bits past 11 indicate areas of interest to "hint" routines */
+#define COND_HBASE 11 /* Base for location hint bits */
+#define COND_HCAVE 12 /* Trying to get into cave */
+#define COND_HBIRD 13 /* Trying to catch bird */
+#define COND_HSNAKE 14 /* Trying to deal with snake */
+#define COND_HMAZE 15 /* Lost in maze */
+#define COND_HDARK 16 /* Pondering dark room */
+#define COND_HWITT 17 /* At Witt's End */
+#define COND_HCLIFF 18 /* Cliff with urn */
+#define COND_HWOODS 19 /* Lost in forest */
+#define COND_HOGRE 20 /* Trying to deal with ogre */
+#define COND_HJADE 21 /* Found all treasures except jade */
+
+#define NDWARVES {ndwarflocs} // number of dwarves
+extern const int dwarflocs[NDWARVES];
+
+typedef struct {{
+ const char** strs;
+ const int n;
+}} string_group_t;
+
+typedef struct {{
+ const string_group_t words;
+ const char* inventory;
+ int plac, fixd;
+ bool is_treasure;
+ const char** descriptions;
+ const char** sounds;
+ const char** texts;
+ const char** changes;
+}} object_t;
+
+typedef struct {{
+ const char* small;
+ const char* big;
+}} descriptions_t;
+
+typedef struct {{
+ descriptions_t description;
+ const long sound;
+ const bool loud;
+}} location_t;
+
+typedef struct {{
+ const char* query;
+ const char* yes_response;
+}} obituary_t;
+
+typedef struct {{
+ const int threshold;
+ const int point_loss;
+ const char* message;
+}} turn_threshold_t;
+
+typedef struct {{
+ const int threshold;
+ const char* message;
+}} class_t;
+
+typedef struct {{
+ const int number;
+ const int turns;
+ const int penalty;
+ const char* question;
+ const char* hint;
+}} hint_t;
+
+typedef struct {{
+ const string_group_t words;
+}} motion_t;
+
+typedef struct {{
+ const string_group_t words;
+ const char* message;
+ const bool noaction;
+}} action_t;
+
+enum condtype_t {{cond_goto, cond_pct, cond_carry, cond_with, cond_not}};
+enum desttype_t {{dest_goto, dest_special, dest_speak}};
+
+typedef struct {{
+ const long motion;
+ const long condtype;
+ const long condarg1;
+ const long condarg2;
+ const enum desttype_t desttype;
+ const long destval;
+ const bool nodwarves;
+ const bool stop;
+}} travelop_t;
+
+extern const location_t locations[];
+extern const object_t objects[];
+extern const char* arbitrary_messages[];
+extern const class_t classes[];
+extern const turn_threshold_t turn_thresholds[];
+extern const obituary_t obituaries[];
+extern const hint_t hints[];
+extern long conditions[];
+extern const motion_t motions[];
+extern const action_t actions[];
+extern const travelop_t travel[];
+extern const long tkey[];
+extern const char *ignore;
+
+#define NLOCATIONS {num_locations}
+#define NOBJECTS {num_objects}
+#define NHINTS {num_hints}
+#define NCLASSES {num_classes}
+#define NDEATHS {num_deaths}
+#define NTHRESHOLDS {num_thresholds}
+#define NMOTIONS {num_motions}
+#define NACTIONS {num_actions}
+#define NTRAVEL {num_travel}
+#define NKEYS {num_keys}
+
+#define BIRD_ENDSTATE {bird_endstate}
+
+enum arbitrary_messages_refs {{
+{arbitrary_messages}
+}};
+
+enum locations_refs {{
+{locations}
+}};
+
+enum object_refs {{
+{objects}
+}};
+
+enum motion_refs {{
+{motions}
+}};
+
+enum action_refs {{
+{actions}
+}};
+
+/* State definitions */
+
+{state_definitions}
+
+#endif /* end DUNGEON_H */
diff --git a/tests/Makefile b/tests/Makefile
new file mode 100644
index 0000000..997096a
--- /dev/null
+++ b/tests/Makefile
@@ -0,0 +1,177 @@
+# Test-suite makefile for open-adventure
+
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+
+# Use absolute path so tests that change working directory still use
+# scripts from parent directory. Note that using $PWD seems to fail
+# here under Gitlab's CI environment.
+PARDIR=$(realpath ..)
+PATH := $(PARDIR):$(realpath .):${PATH}
+GCOV?=gcov
+
+# Make this overrideable so it's easier to test old versions
+advent?=advent
+
+# Defeat annoying behavior under Mac OS X - builtin echo doesn't do -n
+ECHO := /bin/echo
+
+# The TAP filter. Only affects presentation of the test suite messages
+TAPCONSUMER=tapview
+
+# Fall back to safety if our declared TAP consumer does not exist.
+# This is helpful in the CI environment, where it would be better for
+# the logfiles to carry the raw TAP messages.
+TAPFILTER=$(shell command -v $(TAPCONSUMER) || echo cat)
+
+# Find all *.log entries to test
+TESTLOADS := $(shell ls -1 *.log | sed '/.log/s///' | sort)
+
+.PHONY: check clean testlist listcheck savegames savecheck coverage
+.PHONY: buildchecks multifile-regress tap count
+
+check: savecheck
+ @make tap | tapview
+ @-advent -x 2>/dev/null || exit 0 # Get usage message into coverage tests
+
+.SUFFIXES: .chk
+
+clean:
+ rm -fr *~ *.adv scratch.tmp *.ochk advent430 adventure.data
+
+# Show summary lines for all tests.
+testlist:
+ @grep '^##' *.log
+listcheck:
+ @for f in *.log; do \
+ if ( head -3 $$f | grep -q '^ *##' ); then :; else echo "$$f needs a description"; fi; \
+ done
+
+# Generate bogus savegames.
+cheat_numdie.adv:
+ @$(PARDIR)/cheat -d -900 -o cheat_numdie.adv > /tmp/cheat_numdie
+cheat_numdie1000.adv:
+ @$(PARDIR)/cheat -d -1000 -o cheat_numdie1000.adv > /tmp/cheat_numdie1000
+cheat_savetamper.adv:
+ @$(PARDIR)/cheat -d 2000 -o cheat_savetamper.adv > /tmp/cheat_savetamper
+resume_badversion.adv:
+ @$(PARDIR)/cheat -v -1337 -o resume_badversion.adv > /tmp/cheat_badversion
+thousand_saves.adv:
+ @$(PARDIR)/cheat -s -1000 -o thousand_saves.adv > /tmp/cheat_1000saves
+thousand_turns.adv:
+ @$(PARDIR)/cheat -t -1000 -o thousand_turns.adv > /tmp/cheat_1000turns
+thousand_limit.adv:
+ @$(PARDIR)/cheat -l -1000 -o thousand_limit.adv > /tmp/cheat_1000limit
+SGAMES = cheat_numdie.adv cheat_numdie1000.adv cheat_savetamper.adv resume_badversion.adv \
+ thousand_saves.adv thousand_turns.adv thousand_limit.adv
+
+# Force coverage of cheat edgecases
+scheck1:
+ @$(PARDIR)/cheat -QqQ 2> /tmp/coverage_cheat_batopt | true
+ @./outcheck.sh "cheat: bogus option for save file generation"
+scheck2:
+ @$(PARDIR)/cheat 2>/dev/null | true
+ @./outcheck.sh "cheat: No save file specified"
+scheck3:
+ @$(PARDIR)/cheat -d 1 2> /tmp/coverage_cheat_nooutput | true
+ @./outcheck.sh "cheat: doesn't save because we omit -o"
+scheck4:
+ @$(PARDIR)/cheat -o / 2> /tmp/coverage_cheat_badoutput | true
+ @./outcheck.sh "cheat: doesn't save to invalid path"
+scheck5:
+ @$(advent) -r /badfilename < pitfall.log > /tmp/coverage_advent_readfail 2>&1 || exit 1
+ @./outcheck.sh "cheat: doesn't start with invalid file with -r"
+scheck6:
+ @$(advent) -l / < pitfall.log > /tmp/coverage_advent_logfail 2>&1 || exit 1
+ @./outcheck.sh "cheat: doesn't start with invalid file passed to -l"
+scheck7:
+ @$(advent) -r thousand_saves.adv < pitfall.log > /tmp/coverage_advent_readfail 2>&1 || exit 1
+ @./outcheck.sh "test -r with valid input"
+SCHECKS = scheck1 scheck2 scheck3 scheck4 scheck5 scheck6 scheck7
+
+# Don't run this from here, you'll get cryptic warnings and no good result
+# if the advent binary wasn't built with coverage flags. Do "make clean coverage"
+# from the top-level directory.
+coverage: check
+ lcov -t "advent" -o $(PARDIR)/advent.info -c -d $(PARDIR) --gcov-tool=$(GCOV)
+ genhtml -o $(PARDIR)/coverage/ $(PARDIR)/advent.info
+ ./coverage_dungeon.py
+
+# Rebuild characterizing tests
+buildchecks: savegames
+ $(PARDIR)/cheat -s -1000 -o thousand_saves.adv > /tmp/regress1000saves
+ @for file in $(TESTLOADS); do \
+ echo "Remaking $${file}.chk"; \
+ OPTS=`sed -n /#options:/s///p <$${file}.log`; \
+ advent $$OPTS <$${file}.log >$${file}.chk 2>&1 || exit 1; \
+ done; \
+ echo "inven" | advent issue36.log /dev/stdin >multifile.chk; \
+ rm -f scratch.tmp
+
+RUN_TARGETS=$(TESTLOADS:%=run-regress-%)
+$(RUN_TARGETS): run-regress-%: %.log
+ @(test=$(<:.log=); legend=$$(sed -n '/^## /s///p' <"$<" 2>/dev/null || echo "(no description)"); \
+ OPTS=`sed -n /#options:/s///p $<`; \
+ $(advent) $$OPTS <$< | tapdiffer "$${test}: $${legend}" "$${test}.chk")
+
+multifile-regress:
+ @(echo "inven" | advent issue36.log /dev/stdin) | tapdiffer "multifile: multiple-file test" multifile.chk
+
+TEST_TARGETS = $(SCHECKS) $(RUN_TARGETS) multifile-regress
+
+tap: count $(SGAMES) $(TEST_TARGETS)
+ @rm -f scratch.tmp /tmp/coverage* /tmp/cheat*
+count:
+ @echo 1..$(words $(TEST_TARGETS))
+
+# The following machinery tests the game against a binary made from
+# the advent430 branch To use it, switch to that branch, build the
+# binary, run it once to generate adventure.data, then switch back to
+# master leaving advent430 and adventure.data in place (make clean
+# does not remove them).
+#
+# make clean # Clean up object files, laving a bare source tree
+# git checkout advent430 # Check out the advent430 branch
+# make # Build the advent430 binary
+# advent430 # Run it. Answer the novice question and quit
+# make clean # Remove .o files
+# git checkout master # Go back to master branch
+# make # Rebuild advent.
+#
+# The diff file produced has corrected spellings in it. That's what oldfilter
+# is for, to massage out the original spellings and avoid noise diffs.
+# Diffs in amount of whitespace and trailing whitespace are ignored
+#
+# A magic comment of NOCOMPARE in a log file excludes it from this comparison.
+# making it a skipped test in the TAP view. First use of this was to avoid a
+# spurious mismatch on the news text. Other uses avoid spurious mismatches due
+# to bug fixes.
+#
+# When adding more tests, bear in mind that any game that continues after a
+# resurrection will need a NOCOMPARE. At some point in the forward port,
+# resurrection was accidentally changed in a way that messed with the LCG chain.
+#
+# The *.chk files need not be up-to-date for this to work.
+#
+TAPFILTER=tapview
+oldcompare:
+ @if [ -f ../advent430 ]; then cp ../advent430 ../adventure.data .; else echo "advent430 nonexistent"; exit 1; fi
+ @-(for x in *.log; do \
+ stem=$${x%.log}; \
+ legend=$$(sed -n '/^## /s///p' <$$x 2>/dev/null || echo "(no description)"); \
+ if grep NOCOMPARE $$x >/dev/null; \
+ then echo "not ok - $${stem}.ochk: $${legend} # SKIP"; \
+ else \
+ ./advent430 <$${stem}.log | oldfilter >$${stem}.ochk; \
+ ../advent <$${stem}.log >$${stem}.log-new; \
+ ./newfilter <$${stem}.log-new | tapdiffer -b "$${stem}: $${legend}" $${stem}.ochk; \
+ fi; \
+ done; \
+ echo 1..$(words $(shell ls *.log))) | $(TAPFILTER)
+ @rm *.ochk *-new advent430 adventure.data
+
+# List all NOCOMPARE tests.
+residuals:
+ @grep -n NOCOMPARE *.log
+
+# end
diff --git a/tests/README b/tests/README
new file mode 100644
index 0000000..d84dfd4
--- /dev/null
+++ b/tests/README
@@ -0,0 +1,36 @@
+= Notes on the test machinery =
+
+== Understanding and running tests ==
+
+A .log extension means it's a game log
+A .chk extension means it's expected output from a test
+
+The test files are run in alphabetical order. This allows you to
+ensure certain tests are run in a particular order merely by giving
+them appropriate names, e.g.: test.1.log, test.2.log, test.3.log. This
+is useful for testing save and resume.
+
+In general, a file named foo.chk is the expected output from the game log
+foo.log. To add new tests, just drop log files in this directory.
+
+To see summary lines from all tests, 'make testlist'. The summary lines
+are those led with ##; you should have one such descriptive line at the
+head of each file.
+
+To run the tests, "make check".
+
+To remake the check files, "make buildchecks".
+
+== Composing tests ==
+
+The simplest way to make a test is to simply play a game with the -l
+option giving a log path. Commands will be captured to that log.
+
+To re-use a command sequence from an existing log, run advent and
+paste it to the advent command log from the clipboard.
+
+To see where we can use more tests, "make coverage".
+
+
+// end
+
diff --git a/tests/axebear.chk b/tests/axebear.chk
new file mode 100644
index 0000000..ba465c2
--- /dev/null
+++ b/tests/axebear.chk
@@ -0,0 +1,1639 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> eat plant
+
+Don't be ridiculous!
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> eat plant
+
+Don't be ridiculous!
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> throw axe
+
+The axe misses and lands near the bear where you can't get at it.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+There is a little axe lying beside the bear.
+
+The bear is locked to the wall with a golden chain!
+
+>
+You scored 251 out of a possible 430, using 271 turns.
+
+You have reached "Junior Master" status.
+
+To achieve the next higher rating, you need 70 more points.
diff --git a/tests/axebear.log b/tests/axebear.log
new file mode 100644
index 0000000..1788008
--- /dev/null
+++ b/tests/axebear.log
@@ -0,0 +1,278 @@
+## Observe axe after throwing at bear
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+eat plant
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+eat plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+throw axe
+look
diff --git a/tests/axeorama.chk b/tests/axeorama.chk
new file mode 100644
index 0000000..fbb1d7b
--- /dev/null
+++ b/tests/axeorama.chk
@@ -0,0 +1,660 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> cage bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> cage bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> cage bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> e
+
+You're in Hall of Mt King.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+I see no coins here.
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> throw axe
+
+The axe bounces harmlessly off the dragon's thick scales.
+
+You are in a secret canyon which exits to the north and east.
+
+There is a little axe here.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> take axe
+
+OK
+
+> kill dragon
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Black rod
+Little bird in cage
+Dwarf's axe
+Bars of silver
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> w
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> throw axe
+
+There is nothing here to attack.
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> throw axe
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+You are in a large chamber with passages to the west and north.
+
+There is a little axe here.
+
+A formidable ogre bars the northern exit.
+
+> take axe
+
+OK
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in n/s passage above e/w passage.
+
+> take knife
+
+The dwarves' knives vanish as they strike the walls of the cave.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in n/s passage above e/w passage.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> w
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> d
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> w
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+There is a threatening little dwarf in the room with you!
+
+You're in Bedquilt.
+
+> feed dwarf
+
+There is nothing here to eat.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're in Bedquilt.
+
+> n
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> n
+
+Dead end crawl.
+
+> out
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> up
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> throw axe
+
+The troll deftly catches the axe, examines it carefully, and tosses it
+back, declaring, "Good workmanship, but it's not valuable enough."
+
+You're on sw side of chasm.
+
+There is a little axe here.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> jump
+
+I respectfully suggest you go across the bridge instead of jumping.
+
+You're on sw side of chasm.
+
+There is a little axe here.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+>
+You scored 105 out of a possible 430, using 109 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 16 more points.
diff --git a/tests/axeorama.log b/tests/axeorama.log
new file mode 100644
index 0000000..a6def76
--- /dev/null
+++ b/tests/axeorama.log
@@ -0,0 +1,122 @@
+## Test throwing axe at non-dwarves.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Added coverage of LOC_DEADCRAWL and CROSS_BRIDGE
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+cage bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+cage bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+cage bird
+take rod
+w
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+throw axe
+take axe
+kill dragon
+y
+inven
+e
+e
+u
+# Go to vending machine and ogre from Hall of Mists
+w
+wave rod
+w
+w
+w
+w
+s
+sw
+se
+s
+throw axe
+kill machine
+s
+s
+throw axe
+take axe
+# Return to Hall of Mists
+w
+n
+n
+n
+# Vending machine
+nw
+d
+e
+e
+e
+e
+e
+# Hall of Mists
+n
+n
+take knife
+throw axe
+take axe
+d
+w
+d
+w
+# Bedquilt
+n
+feed dwarf
+throw axe
+take axe
+n
+n
+n
+out
+sw
+up
+# Troll bridge
+throw axe
+jump
diff --git a/tests/badmagic.chk b/tests/badmagic.chk
new file mode 100644
index 0000000..08c8ffe
--- /dev/null
+++ b/tests/badmagic.chk
@@ -0,0 +1,22 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> resume
+Can't open file y, try again.
+
+Oops, that does not look like a valid save file.
+
+You're in front of building.
+
+>
+You scored 32 out of a possible 430, using 1 turn.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 14 more points.
diff --git a/tests/badmagic.log b/tests/badmagic.log
new file mode 100644
index 0000000..6a1f056
--- /dev/null
+++ b/tests/badmagic.log
@@ -0,0 +1,8 @@
+## Resume from filename withoy the right magic at the front
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE advent430 doesn't have this test
+n
+resume
+y
+../main.o
diff --git a/tests/barehands.chk b/tests/barehands.chk
new file mode 100644
index 0000000..f94685f
--- /dev/null
+++ b/tests/barehands.chk
@@ -0,0 +1,315 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1635997320
+
+Seed set to 1635997320
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take jade
+
+OK
+
+> e
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jade
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You're in bird chamber.
+
+> w
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> drop bird
+
+The little bird attacks the green dragon, and in an astounding flurry
+gets burnt to a cinder. The ashes blow away.
+
+> extinguish dragon
+
+It is beyond your power to do that.
+
+> kill dragon
+
+With what? Your bare hands?
+
+>
+
+Please answer the question.
+
+> green
+
+Please answer the question.
+
+> n
+
+The dragon looks rather nasty. You'd best not try to get by.
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> kill dragon
+
+For crying out loud, the poor thing is already dead!
+
+>
+You scored 77 out of a possible 430, using 49 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 44 more points.
diff --git a/tests/barehands.log b/tests/barehands.log
new file mode 100644
index 0000000..cb5ad99
--- /dev/null
+++ b/tests/barehands.log
@@ -0,0 +1,60 @@
+## Get to dragon, refuse to use bare hands
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE Fails due uninteresting difference in whitespace process.
+# Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
+n
+seed 1635997320
+in
+take lamp
+xyzzy
+take rod
+e
+take cage
+w
+on
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+drop rod
+take bird
+take jade
+e
+e
+e
+off
+xyzzy
+drop jade
+xyzzy
+on
+w
+w
+w
+take rod
+d
+w
+wave rod
+drop rod
+e
+n
+free bird
+take bird
+s
+take jewelry
+n
+sw
+w
+drop bird
+extinguish dragon
+kill dragon
+
+green
+n
+kill dragon
+y
+kill dragon
diff --git a/tests/bigfail.chk b/tests/bigfail.chk
new file mode 100644
index 0000000..df15f38
--- /dev/null
+++ b/tests/bigfail.chk
@@ -0,0 +1,1811 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> break vase
+
+You have taken the vase and hurled it delicately to the ground.
+
+> break vase
+
+It is beyond your power to do that.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> w
+
+You're in Swiss Cheese Room.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> take clam
+
+OK
+
+> unlock clam
+
+I advise you to put down the clam before opening it. >STRAIN!<
+
+> s
+
+You can't fit this five-foot clam through that little passage!
+
+You're in Shell Room.
+
+> open clam
+
+I advise you to put down the clam before opening it. >STRAIN!<
+
+> drop clam
+
+OK
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> read oyster
+
+I'm afraid I don't understand.
+
+> take oyster
+
+OK
+
+> s
+
+You can't fit this five-foot oyster through that little passage!
+
+You're in Shell Room.
+
+> drop oyster
+
+OK
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+I see no pillow here.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> take coins
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+You can't carry anything more. You'll have to drop something first.
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> drop food
+
+OK
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> attack
+
+With what? Your bare hands? Against *HIS* bear hands??
+
+> unlock chain
+
+There is no way to get past the bear to unlock the chain, which is
+probably just as well.
+
+> feed bear
+
+There's nothing here it wants to eat (except perhaps you).
+
+> out
+
+You're in front of Barren Room.
+
+There is food here.
+
+> take food
+
+OK
+
+> in
+
+You're in Barren Room.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> carry bear
+
+The bear is still chained to the wall.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> attack bear
+
+The bear is confused; he only wants to be your friend.
+
+> feed bear
+
+There is nothing here to eat.
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+You can't carry anything more. You'll have to drop something first.
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> take bear
+
+OK
+
+> sw
+
+Just as you reach the other side, the bridge buckles beneath the
+weight of the bear, which was still following you around. You
+scrabble desperately for support, but as the bridge collapses you
+stumble back and fall into the chasm.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> n
+
+OK
+
+You scored 223 out of a possible 430, using 303 turns.
+
+You may now consider yourself a "Seasoned Adventurer".
+
+To achieve the next higher rating, you need 28 more points.
diff --git a/tests/bigfail.log b/tests/bigfail.log
new file mode 100644
index 0000000..8de6118
--- /dev/null
+++ b/tests/bigfail.log
@@ -0,0 +1,316 @@
+## Test many nonlethal failure conditions
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# See comments in this log
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+# Test vase breakage
+break vase
+break vase
+se
+throw axe
+take axe
+e
+w
+ne
+e
+n
+# Here we are at the Shell Room. Fail to carry out bivalves
+take clam
+unlock clam
+s
+open clam
+drop clam
+open clam
+read oyster
+take oyster
+s
+drop oyster
+s
+# OK, bivalve-carry test is done
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+take coins
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+# Bear-verb test. Try feeding without food before feeding with
+barren
+drop food
+in
+attack
+unlock chain
+feed bear
+out
+take food
+in
+feed bear
+carry bear
+unlock chain
+take chain
+attack bear
+feed bear
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+take bear
+sw
+n
+quit
diff --git a/tests/birdsnakewake.chk b/tests/birdsnakewake.chk
new file mode 100644
index 0000000..361cbf7
--- /dev/null
+++ b/tests/birdsnakewake.chk
@@ -0,0 +1,2948 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> score
+
+You have garnered 191 out of a possible 430 points, using 229 turns.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> score
+
+You have garnered 205 out of a possible 430 points, using 232 turns.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You're in anteroom.
+
+> u
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+Your lamp has run out of power.
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+The sepulchral voice intones, "The cave is now closed." As the echoes
+fade, there is a blinding flash of light (and a small puff of orange
+smoke). . . . As your eyes refocus, you look around and find...
+
+You are at the northeast end of an immense room, even larger than the
+Giant Room. It appears to be a repository for the "Adventure"
+program. Massive torches far overhead bathe the room with smoky
+yellow light. Scattered about you can be seen a pile of bottles (all
+of them empty), a nursery of young beanstalks murmuring quietly, a bed
+of oysters, a bundle of black rods with rusty stars on their ends, and
+a collection of brass lanterns. Off to one side a great many dwarves
+are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+not disturb the dwarves!" An immense mirror is hanging against one
+wall, and stretches to the other end of the room, where various other
+sundry objects can be glimpsed dimly in the distance.
+
+> sw
+
+You are at the southwest end of the repository. To one side is a pit
+full of fierce green snakes. On the other side is a row of small
+wicker cages, each of which contains a little sulking bird. In one
+corner is a bundle of black rods with rusty marks on their ends. A
+large number of velvet pillows are scattered about on the floor. A
+vast mirror stretches off to the northeast. At your feet is a large
+steel grate, next to which is a sign that reads, "Treasure Vault.
+Keys in main office."
+
+The grate is locked.
+
+> listen
+
+A loud hissing emanates from the snake pit.
+
+> take cage
+
+OK
+
+> take bird
+
+You are already carrying it!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+The resulting ruckus has awakened the dwarves. There are now several
+threatening little dwarves in the room with you! Most of them throw
+knives at you! All of them get you!
+
+You scored 393 out of a possible 430, using 468 turns.
+
+Your score puts you in Master Adventurer Class B.
+
+To achieve the next higher rating, you need 18 more points.
diff --git a/tests/birdsnakewake.log b/tests/birdsnakewake.log
new file mode 100644
index 0000000..ef1a6d5
--- /dev/null
+++ b/tests/birdsnakewake.log
@@ -0,0 +1,477 @@
+## Attempt to kill snake with bird in the endgame
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+# The score commands verify that you do indeed score points
+# for dropping the vase on the pillow in the building.
+score
+drop pillow
+drop vase
+score
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+s
+u
+w
+w
+w
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+xyzzy
+drop emerald
+drop chest
+plugh
+on
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+u
+u
+e
+u
+n
+plover
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+sw
+listen
+take cage
+take bird
+free bird
diff --git a/tests/birdweight.chk b/tests/birdweight.chk
new file mode 100644
index 0000000..24f0904
--- /dev/null
+++ b/tests/birdweight.chk
@@ -0,0 +1,464 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 976729036
+
+Seed set to 976729036
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> take food
+
+OK
+
+> take bottle
+
+OK
+
+> inventory
+
+You are currently holding the following:
+Brass lantern
+Tasty food
+Small bottle
+Water in the bottle
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> take bird
+
+OK
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You're in bird chamber.
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> inventory
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Black rod
+Little bird in cage
+Tasty food
+Small bottle
+Water in the bottle
+Leporine appendage
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> w
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> drop gold
+
+OK
+
+> take diamonds
+
+OK
+
+> w
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> inventory
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Tasty food
+Small bottle
+Water in the bottle
+Leporine appendage
+Several diamonds
+
+> s
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+Dead end
+
+There is a little axe here.
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> drop food
+
+OK
+
+> drop water
+
+OK
+
+> take axe
+
+OK
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> drop diamonds
+
+OK
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> w
+
+There is no way to go that direction.
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a bottle of water here.
+
+There is food here.
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There is a large sparkling nugget of gold here!
+
+A crystal bridge spans the fissure.
+
+> take gold
+
+OK
+
+> w
+
+You're at west end of Hall of Mists.
+
+> w
+
+You're at east end of long hall.
+
+> w
+
+You're at west end of long hall.
+
+> s
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a bottle of water here.
+
+There is food here.
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> take bottle
+
+OK
+
+> take food
+
+OK
+
+> s
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+There are diamonds here!
+
+A formidable ogre bars the northern exit.
+
+> throw appendage
+
+OK
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+> take appendage
+
+OK
+
+>
+You scored 61 out of a possible 430, using 81 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 60 more points.
diff --git a/tests/birdweight.log b/tests/birdweight.log
new file mode 100644
index 0000000..5cfe3db
--- /dev/null
+++ b/tests/birdweight.log
@@ -0,0 +1,90 @@
+## Verify that the bird is weightless in inventory
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Checks fix for GitLab issue #40
+#NOCOMPARE Bird was not weightless in cage in advent430 so this test is invalid.
+n
+#seed 687800971
+seed 976729036
+in
+take lamp
+take food
+take bottle
+inventory
+out
+s
+w
+n
+take appendage
+s
+s
+n
+in
+xyzzy
+on
+e
+take cage
+w
+w
+w
+take bird
+e
+e
+take rod
+w
+w
+w
+d
+inventory
+w
+wave rod
+drop rod
+e
+s
+take gold
+n
+w
+w
+drop gold
+take diamonds
+w
+w
+w
+inventory
+s
+sw
+se
+s
+drop food
+drop water
+take axe
+kill machine
+s
+s
+drop diamonds
+w
+w
+n
+# Back at vending machine
+n
+n
+nw
+d
+e
+e
+e
+take gold
+w
+w
+w
+s
+sw
+se
+s
+take bottle
+take food
+s
+s
+throw appendage
+kill ogre
+take appendage
diff --git a/tests/boulder2.chk b/tests/boulder2.chk
new file mode 100644
index 0000000..87aee68
--- /dev/null
+++ b/tests/boulder2.chk
@@ -0,0 +1,1487 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> n
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extin
+
+Your lamp is now off.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill drago
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop rug
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appen
+
+OK
+
+> drop cage
+
+OK
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plove
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plove
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machi
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedqu
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reser
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appen
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottl
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take tride
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop tride
+
+OK
+
+> drop axe
+
+OK
+
+> drop lante
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emera
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take tride
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop tride
+
+OK
+
+> take key
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottl
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss egg
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> barre
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unloc
+
+The chain is now unlocked.
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> out
+
+You are being followed by a very large, tame bear.
+
+You're at junction with warm walls.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You're in Chamber of Boulders.
+
+There are rare spices here!
+
+>
+You scored 119 out of a possible 430, using 238 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 2 more points.
diff --git a/tests/boulder2.log b/tests/boulder2.log
new file mode 100644
index 0000000..dbaaf81
--- /dev/null
+++ b/tests/boulder2.log
@@ -0,0 +1,244 @@
+## Coverage of LOC_BOULDERS2.short
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+drop rod
+take bird
+take rod
+d
+d
+free bird
+w
+e
+s
+take n
+u
+s
+n
+d
+n
+n
+plugh
+extin
+plugh
+on
+s
+s
+sw
+take
+w
+kill drago
+y
+take rug
+e
+e
+u
+d
+n
+n
+off
+plugh
+drop rug
+out
+s
+w
+n
+take appen
+drop cage
+s
+s
+n
+in
+take water
+plugh
+on
+plove
+ne
+s
+plove
+s
+s
+u
+w
+wave rod
+drop rod
+west
+w
+w
+w
+s
+sw
+se
+s
+kill machi
+s
+s
+kill ogre
+n
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedqu
+throw axe
+take
+slab
+s
+d
+water plant
+u
+w
+u
+reser
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appen
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottl
+n
+take tride
+w
+d
+se
+n
+w
+drop tride
+drop axe
+drop lante
+e
+take emera
+w
+take lamp
+take axe
+take tride
+nw
+s
+se
+throw axe
+e
+w
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop tride
+take key
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get
+n
+take bottl
+n
+w
+d
+sw
+u
+toss egg
+ne
+barre
+in
+feed bear
+unloc
+take bear
+fork
+ne
+e
+out
+e
diff --git a/tests/breakmirror.chk b/tests/breakmirror.chk
new file mode 100644
index 0000000..faf0008
--- /dev/null
+++ b/tests/breakmirror.chk
@@ -0,0 +1,2993 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> break mirror
+
+It is too far up for you to reach.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> unlock
+
+The door is extremely rusty and refuses to open.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock
+
+The chain is now unlocked.
+
+> unlock chain
+
+It was already unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You're in anteroom.
+
+> u
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+Your lamp has run out of power.
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> cave
+
+I need more detailed instructions to do that.
+
+You're in Plover Room.
+
+> e
+
+The sepulchral voice intones, "The cave is now closed." As the echoes
+fade, there is a blinding flash of light (and a small puff of orange
+smoke). . . . As your eyes refocus, you look around and find...
+
+You are at the northeast end of an immense room, even larger than the
+Giant Room. It appears to be a repository for the "Adventure"
+program. Massive torches far overhead bathe the room with smoky
+yellow light. Scattered about you can be seen a pile of bottles (all
+of them empty), a nursery of young beanstalks murmuring quietly, a bed
+of oysters, a bundle of black rods with rusty stars on their ends, and
+a collection of brass lanterns. Off to one side a great many dwarves
+are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+not disturb the dwarves!" An immense mirror is hanging against one
+wall, and stretches to the other end of the room, where various other
+sundry objects can be glimpsed dimly in the distance.
+
+> attack
+
+The shell is very strong and is impervious to attack.
+
+> take oyster
+
+OK
+
+Interesting. There seems to be something written on the underside of
+the oyster.
+
+> find oyster
+
+You are already carrying it!
+
+> lock
+
+Huh?
+
+> lock oyster
+
+Huh?
+
+> drop oyster
+
+OK
+
+> unlock oyster
+
+You don't have anything strong enough to open the oyster.
+
+> take oyster
+
+OK
+
+> read oyster
+
+Hmmm, this looks like a clue, which means it'll cost you 10 points to
+read it. Should I go ahead and read it anyway?
+
+> y
+
+It says, "There is a way out of this place. Do you need any more
+information to escape? Sorry, but this initial hint is all you get."
+
+> sw
+
+You are at the southwest end of the repository. To one side is a pit
+full of fierce green snakes. On the other side is a row of small
+wicker cages, each of which contains a little sulking bird. In one
+corner is a bundle of black rods with rusty marks on their ends. A
+large number of velvet pillows are scattered about on the floor. A
+vast mirror stretches off to the northeast. At your feet is a large
+steel grate, next to which is a sign that reads, "Treasure Vault.
+Keys in main office."
+
+The grate is locked.
+
+> attack bird
+
+Oh, leave the poor unhappy bird alone.
+
+> find bird
+
+I daresay whatever you want is around here somewhere.
+
+> break mirror
+
+You strike the mirror a resounding blow, whereupon it shatters into a
+myriad tiny fragments.
+
+The resulting ruckus has awakened the dwarves. There are now several
+threatening little dwarves in the room with you! Most of them throw
+knives at you! All of them get you!
+
+You scored 383 out of a possible 430, using 477 turns.
+
+Your score puts you in Master Adventurer Class B.
+
+To achieve the next higher rating, you need 28 more points.
diff --git a/tests/breakmirror.log b/tests/breakmirror.log
new file mode 100644
index 0000000..7cd9dcc
--- /dev/null
+++ b/tests/breakmirror.log
@@ -0,0 +1,488 @@
+## Break the mirror in endgame and die
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+break mirror
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+unlock
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+s
+u
+w
+w
+w
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+xyzzy
+drop emerald
+drop chest
+plugh
+on
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+u
+u
+e
+u
+n
+plover
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+cave
+e
+# Everything to here is from endgame428,
+# except we drop the oyster before trying
+# to unlock it rather than after.
+attack
+take oyster
+find oyster
+lock
+lock oyster
+drop oyster
+unlock oyster
+take oyster
+read oyster
+y
+sw
+attack bird
+find bird
+break mirror
diff --git a/tests/carrybird.chk b/tests/carrybird.chk
new file mode 100644
index 0000000..5b4b1de
--- /dev/null
+++ b/tests/carrybird.chk
@@ -0,0 +1,79 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1071883378
+
+Seed set to 1071883378
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> rub lamp
+
+Rubbing the electric lamp is not particularly rewarding. Anyway,
+nothing exciting happens.
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> take bird
+
+You can catch the bird, but you cannot carry it.
+
+> attack
+
+The little bird is now dead. Its body disappears.
+
+>
+You scored 32 out of a possible 430, using 9 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 14 more points.
diff --git a/tests/carrybird.log b/tests/carrybird.log
new file mode 100644
index 0000000..d661145
--- /dev/null
+++ b/tests/carrybird.log
@@ -0,0 +1,15 @@
+## Try to carry bird without cage, then kill bird
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1071883378
+in
+take lamp
+rub lamp
+xyzzy
+on
+w
+w
+take bird
+# test intransitive attack on bird
+attack
diff --git a/tests/carryfreebird.chk b/tests/carryfreebird.chk
new file mode 100644
index 0000000..870ea4b
--- /dev/null
+++ b/tests/carryfreebird.chk
@@ -0,0 +1,335 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1495951709
+
+Seed set to 1495951709
+
+You're in front of building.
+
+> attack
+
+There is nothing here to attack.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> on
+
+Your lamp is now on.
+
+> xyzzy
+
+>>Foof!<<
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take jade
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop silver
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop jade
+
+OK
+
+> drop rug
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> drop cage
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are wandering aimlessly through the forest.
+
+There is a small wicker cage discarded nearby.
+
+There is a little bird in the cage.
+
+> take cage
+
+OK
+
+> free bird
+
+OK
+
+> carry bird
+
+The bird eyes you suspiciously and flutters away. A moment later you
+feel something wet land on your head, but upon looking up you can see
+no sign of the culprit.
+
+>
+You scored 113 out of a possible 430, using 57 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 8 more points.
diff --git a/tests/carryfreebird.log b/tests/carryfreebird.log
new file mode 100644
index 0000000..e0482f2
--- /dev/null
+++ b/tests/carryfreebird.log
@@ -0,0 +1,63 @@
+## Try to carry the bird after freeing it instead of listening
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1495951709
+attack
+in
+take lamp
+on
+xyzzy
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take jade
+drop rod
+take bird
+take rod
+d
+w
+wave rod
+drop rod
+e
+n
+free bird
+take bird
+s
+take jewelry
+n
+sw
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+n
+take silver
+n
+plugh
+drop silver
+drop jewelry
+drop jade
+drop rug
+out
+s
+w
+n
+take appendage
+drop cage
+look
+take cage
+free bird
+carry bird
diff --git a/tests/cheatresume.chk b/tests/cheatresume.chk
new file mode 100644
index 0000000..a56a78b
--- /dev/null
+++ b/tests/cheatresume.chk
@@ -0,0 +1,27 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> resume
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+>
+Now let's see you do it without suspending in mid-Adventure.
+
+You scored 9031 out of a possible 430, using 0 turns.
+
+Adventuredom stands in awe -- you have now joined the ranks of the
+ W O R L D C H A M P I O N A D V E N T U R E R S !
+It may interest you to know that the Dungeon-Master himself has, to
+my knowledge, never achieved this threshold in fewer than 330 turns.
+
+To achieve the next higher rating would be a neat trick!
+Congratulations!!
diff --git a/tests/cheatresume.log b/tests/cheatresume.log
new file mode 100644
index 0000000..5440c4f
--- /dev/null
+++ b/tests/cheatresume.log
@@ -0,0 +1,7 @@
+## Resume from absurd save file with numdie = -900
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE Can't compare to advent430 due to version skew
+n
+resume
+cheat_numdie.adv
diff --git a/tests/cheatresume2.chk b/tests/cheatresume2.chk
new file mode 100644
index 0000000..af3648c
--- /dev/null
+++ b/tests/cheatresume2.chk
@@ -0,0 +1,21 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> resume
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+>
+Now let's see you do it without suspending in mid-Adventure.
+
+You scored 10031 out of a possible 430, using 0 turns.
+
+You just went off my scale!!
diff --git a/tests/cheatresume2.log b/tests/cheatresume2.log
new file mode 100644
index 0000000..b479726
--- /dev/null
+++ b/tests/cheatresume2.log
@@ -0,0 +1,8 @@
+## Resume from absurd save file with numdie = -1000
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# generating "off my scale" score threshold message
+#NOCOMPARE Can't compare to advent430 due to version skew
+n
+resume
+cheat_numdie1000.adv
diff --git a/tests/compare b/tests/compare
new file mode 100755
index 0000000..32f60be
--- /dev/null
+++ b/tests/compare
@@ -0,0 +1,4 @@
+#! /bin/sh
+# Display diff for an individual test
+test=$1
+../advent <${test}.log | ./tapdiffer "${test}" "${test}.chk"
diff --git a/tests/coverage_dungeon.py b/tests/coverage_dungeon.py
new file mode 100755
index 0000000..d193b27
--- /dev/null
+++ b/tests/coverage_dungeon.py
@@ -0,0 +1,307 @@
+#!/usr/bin/env python3
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+"""
+This is the open-adventure dungeon text coverage report generator. It
+consumes a YAML description of the dungeon and determines whether the
+various strings contained are present within the test check files.
+
+The default HTML output is appropriate for use with Gitlab CI.
+You can override it with a command-line argument.
+
+The DANGLING lists are for actions and messages that should be
+considered always found even if the checkfile search doesn't find them.
+Typically this will because an action emit a templated message that
+can't be regression-tested by equality.
+"""
+
+# pylint: disable=consider-using-f-string,line-too-long,invalid-name,missing-function-docstring,redefined-outer-name
+
+import os
+import sys
+import re
+import yaml
+
+TEST_DIR = "."
+YAML_PATH = "../adventure.yaml"
+HTML_TEMPLATE_PATH = "../templates/coverage_dungeon.html.tpl"
+DEFAULT_HTML_OUTPUT_PATH = "../coverage/adventure.yaml.html"
+DANGLING_ACTIONS = ["ACT_VERSION"]
+DANGLING_MESSAGES = ["SAVERESUME_DISABLED"]
+
+STDOUT_REPORT_CATEGORY = (
+ " {name:.<19}: {percent:5.1f}% covered ({covered} of {total})\n"
+)
+
+HTML_SUMMARY_ROW = """
+
+
+
+
+
+
+"""
+
+HTML_CATEGORY_SECTION = """
+
+ {rows}
+
+
+
+"""
+
+HTML_CATEGORY_HEADER = """
+
+ {label}
+ {cells}
+
+"""
+
+HTML_CATEGORY_HEADER_CELL = '{} \n'
+
+HTML_CATEGORY_COVERAGE_CELL = ' \n'
+
+HTML_CATEGORY_ROW = """
+
+ {id}
+ {cells}
+
+"""
+
+
+def search(needle, haystack):
+ # Search for needle in haystack, first escaping needle for regex, then
+ # replacing %s, %d, etc. with regex wildcards, so the variable messages
+ # within the dungeon definition will actually match
+
+ if needle is None or needle == "" or needle == "NO_MESSAGE":
+ # if needle is empty, assume we're going to find an empty string
+ return True
+
+ needle_san = (
+ re.escape(needle)
+ .replace("\\n", "\n")
+ .replace("\\t", "\t")
+ .replace("%S", ".*")
+ .replace("%s", ".*")
+ .replace("%d", ".*")
+ .replace("%V", ".*")
+ )
+
+ return re.search(needle_san, haystack)
+
+
+def obj_coverage(objects, text, report):
+ # objects have multiple descriptions based on state
+ for _, objouter in enumerate(objects):
+ (obj_name, obj) = objouter
+ if obj["descriptions"]:
+ for j, desc in enumerate(obj["descriptions"]):
+ name = "{}[{}]".format(obj_name, j)
+ if name not in report["messages"]:
+ report["messages"][name] = {"covered": False}
+ report["total"] += 1
+ if not report["messages"][name]["covered"] and search(desc, text):
+ report["messages"][name]["covered"] = True
+ report["covered"] += 1
+
+
+def loc_coverage(locations, text, report):
+ # locations have a long and a short description, that each have to
+ # be checked separately
+ for name, loc in locations:
+ desc = loc["description"]
+ if name not in report["messages"]:
+ report["messages"][name] = {"long": False, "short": False}
+ report["total"] += 2
+ if not report["messages"][name]["long"] and search(desc["long"], text):
+ report["messages"][name]["long"] = True
+ report["covered"] += 1
+ if not report["messages"][name]["short"] and search(desc["short"], text):
+ report["messages"][name]["short"] = True
+ report["covered"] += 1
+
+
+def hint_coverage(obituaries, text, report):
+ # hints have a "question" where the hint is offered, followed
+ # by the actual hint if the player requests it
+ for _, hintouter in enumerate(obituaries):
+ hint = hintouter["hint"]
+ name = hint["name"]
+ if name not in report["messages"]:
+ report["messages"][name] = {"question": False, "hint": False}
+ report["total"] += 2
+ if not report["messages"][name]["question"] and search(hint["question"], text):
+ report["messages"][name]["question"] = True
+ report["covered"] += 1
+ if not report["messages"][name]["hint"] and search(hint["hint"], text):
+ report["messages"][name]["hint"] = True
+ report["covered"] += 1
+
+
+def obit_coverage(obituaries, text, report):
+ # obituaries have a "query" where it asks the player for a resurrection,
+ # followed by a snarky comment if the player says yes
+ for name, obit in enumerate(obituaries):
+ if name not in report["messages"]:
+ report["messages"][name] = {"query": False, "yes_response": False}
+ report["total"] += 2
+ if not report["messages"][name]["query"] and search(obit["query"], text):
+ report["messages"][name]["query"] = True
+ report["covered"] += 1
+ if not report["messages"][name]["yes_response"] and search(
+ obit["yes_response"], text
+ ):
+ report["messages"][name]["yes_response"] = True
+ report["covered"] += 1
+
+
+def threshold_coverage(classes, text, report):
+ # works for class thresholds and turn threshold, which have a "message"
+ # property
+ for name, item in enumerate(classes):
+ if name not in report["messages"]:
+ report["messages"][name] = {"covered": False}
+ report["total"] += 1
+ if not report["messages"][name]["covered"] and search(item["message"], text):
+ report["messages"][name]["covered"] = True
+ report["covered"] += 1
+
+
+def arb_coverage(arb_msgs, text, report):
+ for name, message in arb_msgs:
+ if name not in report["messages"]:
+ report["messages"][name] = {"covered": False}
+ report["total"] += 1
+ if not report["messages"][name]["covered"] and (
+ search(message, text) or name in DANGLING_MESSAGES
+ ):
+ report["messages"][name]["covered"] = True
+ report["covered"] += 1
+
+
+def actions_coverage(items, text, report):
+ # works for actions
+ for name, item in items:
+ if name not in report["messages"]:
+ report["messages"][name] = {"covered": False}
+ report["total"] += 1
+ if not report["messages"][name]["covered"] and (
+ search(item["message"], text) or name in DANGLING_ACTIONS
+ ):
+ report["messages"][name]["covered"] = True
+ report["covered"] += 1
+
+
+def coverage_report(db, check_file_contents):
+ # Create report for each category, including total items, number of items
+ # covered, and a list of the covered messages
+ report = {}
+ for name in db.keys():
+ # initialize each catagory
+ report[name] = {
+ "name": name, # convenience for string formatting
+ "total": 0,
+ "covered": 0,
+ "messages": {},
+ }
+
+ # search for each message in every test check file
+ for chk in check_file_contents:
+ arb_coverage(db["arbitrary_messages"], chk, report["arbitrary_messages"])
+ hint_coverage(db["hints"], chk, report["hints"])
+ loc_coverage(db["locations"], chk, report["locations"])
+ obit_coverage(db["obituaries"], chk, report["obituaries"])
+ obj_coverage(db["objects"], chk, report["objects"])
+ actions_coverage(db["actions"], chk, report["actions"])
+ threshold_coverage(db["classes"], chk, report["classes"])
+ threshold_coverage(db["turn_thresholds"], chk, report["turn_thresholds"])
+
+ return report
+
+
+if __name__ == "__main__":
+ # load DB
+ try:
+ with open(YAML_PATH, "r", encoding="ascii", errors="surrogateescape") as f:
+ db = yaml.safe_load(f)
+ except IOError as e:
+ print("ERROR: could not load %s (%s)" % (YAML_PATH, e.strerror))
+ sys.exit(-1)
+
+ # get contents of all the check files
+ check_file_contents = []
+ for filename in os.listdir(TEST_DIR):
+ if filename.endswith(".chk"):
+ with open(filename, "r", encoding="ascii", errors="surrogateescape") as f:
+ check_file_contents.append(f.read())
+
+ # run coverage analysis report on dungeon database
+ report = coverage_report(db, check_file_contents)
+
+ # render report output
+ categories_html = ""
+ summary_html = ""
+ summary_stdout = "adventure.yaml coverage rate:\n"
+ for name, category in sorted(report.items()):
+ # ignore categories with zero entries
+ if category["total"] > 0:
+ # Calculate percent coverage
+ category["percent"] = (category["covered"] / float(category["total"])) * 100
+
+ # render section header
+ cat_messages = list(category["messages"].items())
+ cat_keys = cat_messages[0][1].keys()
+ headers_html = ""
+ colspan = 10 - len(cat_keys)
+ for key in cat_keys:
+ headers_html += HTML_CATEGORY_HEADER_CELL.format(key)
+ category_html = HTML_CATEGORY_HEADER.format(
+ colspan=colspan, label=category["name"], cells=headers_html
+ )
+
+ # render message coverage row
+ for message_id, covered in cat_messages:
+ category_html_row = ""
+ for key, value in covered.items():
+ category_html_row += HTML_CATEGORY_COVERAGE_CELL.format(
+ "uncovered" if not value else "covered"
+ )
+ category_html += HTML_CATEGORY_ROW.format(
+ id=message_id, colspan=colspan, cells=category_html_row
+ )
+ categories_html += HTML_CATEGORY_SECTION.format(id=name, rows=category_html)
+
+ # render category summaries
+ summary_stdout += STDOUT_REPORT_CATEGORY.format(**category)
+ summary_html += HTML_SUMMARY_ROW.format(**category)
+
+ # output some quick report stats
+ print(summary_stdout)
+
+ if len(sys.argv) > 1:
+ html_output_path = sys.argv[1]
+ else:
+ html_output_path = DEFAULT_HTML_OUTPUT_PATH
+
+ # render HTML report
+ try:
+ with open(
+ HTML_TEMPLATE_PATH, "r", encoding="ascii", errors="surrogateescape"
+ ) as f:
+ # read in HTML template
+ html_template = f.read()
+ except IOError as e:
+ print("ERROR: reading HTML report template failed ({})".format(e.strerror))
+ sys.exit(-1)
+
+ # parse template with report and write it out
+ try:
+ with open(
+ html_output_path, "w", encoding="ascii", errors="surrogateescape"
+ ) as f:
+ f.write(
+ html_template.format(categories=categories_html, summary=summary_html)
+ )
+ except IOError as e:
+ print("ERROR: writing HTML report failed ({})".format(e.strerror))
diff --git a/tests/death-jump.chk b/tests/death-jump.chk
new file mode 100644
index 0000000..481b46c
--- /dev/null
+++ b/tests/death-jump.chk
@@ -0,0 +1,162 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1495774850
+
+Seed set to 1495774850
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take keys
+
+OK
+
+> take lamp
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> s
+
+At your feet all the water of the stream splashes into a 2-inch slit
+in the rock. Downstream the streambed is bare rock.
+
+> s
+
+You are in a 20-foot depression floored with bare dirt. Set into the
+dirt is a strong steel grate mounted in concrete. A dry streambed
+leads into the depression.
+
+The grate is locked.
+
+> open grate
+
+The grate is now unlocked.
+
+> d
+
+You are in a small chamber beneath a 3x3 steel grate to the surface.
+A low crawl over cobbles leads inward to the west.
+
+The grate is open.
+
+> u
+
+You're outside grate.
+
+The grate is open.
+
+> d
+
+You're below the grate.
+
+The grate is open.
+
+> w
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> light lamp
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> crack
+
+The crack is far too small for you to follow. At its widest it is
+barely wide enough to admit your foot.
+
+You're at top of small pit.
+
+Rough stone steps lead down the pit.
+
+> down
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> jump
+
+You didn't make it.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> n
+
+OK
+
+You scored 51 out of a possible 430, using 21 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 70 more points.
diff --git a/tests/death-jump.log b/tests/death-jump.log
new file mode 100644
index 0000000..91e63f9
--- /dev/null
+++ b/tests/death-jump.log
@@ -0,0 +1,29 @@
+## Jump into a pit and die, refuse reincarnation
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1495774850
+in
+take keys
+take lamp
+out
+s
+s
+s
+open grate
+d
+# go back up and down again because of coverage
+u
+d
+w
+w
+light lamp
+w
+w
+w
+# attempt and fail to traverse the crack because coverage
+crack
+down
+w
+jump
+n
diff --git a/tests/decheck b/tests/decheck
new file mode 100755
index 0000000..7e1be39
--- /dev/null
+++ b/tests/decheck
@@ -0,0 +1,3 @@
+#!/bin/sh
+# Turn a non-oldstyle checkfile on stdin into an equivalent log on stdout.
+sed -n -e '/> /s///p'
diff --git a/tests/defeat.chk b/tests/defeat.chk
new file mode 100644
index 0000000..4f4cf80
--- /dev/null
+++ b/tests/defeat.chk
@@ -0,0 +1,3043 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> go west
+
+You're in debris room.
+
+> go west
+
+You are in an awkward sloping east/west canyon.
+
+> go west
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> go west
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> go west
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> go west
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> go west
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> go west
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> go west
+
+If you prefer, simply type w rather than west.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> go west
+
+You don't have to say "go" every time; just specify a direction or, if
+it's nearby, name the place to which you wish to move.
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> go west
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> west
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> west
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> say H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> west
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> west
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> west
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> west
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> west
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> west
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> open oyster
+
+The oyster creaks open, revealing nothing but oyster inside. It
+promptly snaps shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop vase
+
+The ming vase drops with a delicate crash.
+
+> drop pillow
+
+OK
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> west
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> west
+
+You're in Bedquilt.
+
+> west
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> west
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> west
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> west
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> west
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> west
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> west
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> west
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> west
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> west
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> west
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> west
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+A small velvet pillow lies on the floor.
+
+The floor is littered with worthless shards of pottery.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> west
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> fly rug
+
+The rug does not appear inclined to cooperate.
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug draped over your shoulder seems to wriggle for a
+moment, but then subsides.
+
+> take emerald
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+A small velvet pillow lies on the floor.
+
+The floor is littered with worthless shards of pottery.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+A small velvet pillow lies on the floor.
+
+The floor is littered with worthless shards of pottery.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> west
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> west
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> west
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+A small velvet pillow lies on the floor.
+
+The floor is littered with worthless shards of pottery.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> west
+
+You're in dusty rock room.
+
+> d
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You're at complex junction.
+
+> e
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> read sign
+
+Cave under construction beyond this point.
+ Proceed at own risk.
+ [Witt Construction Company]
+
+> take magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> w
+
+You have crawled around in some little holes and found your way
+blocked by a recent cave-in. You are now back in the main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You're in anteroom.
+
+> e
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+You're in anteroom.
+
+> u
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+Your lamp has run out of power.
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+The sepulchral voice intones, "The cave is now closed." As the echoes
+fade, there is a blinding flash of light (and a small puff of orange
+smoke). . . . As your eyes refocus, you look around and find...
+
+You are at the northeast end of an immense room, even larger than the
+Giant Room. It appears to be a repository for the "Adventure"
+program. Massive torches far overhead bathe the room with smoky
+yellow light. Scattered about you can be seen a pile of bottles (all
+of them empty), a nursery of young beanstalks murmuring quietly, a bed
+of oysters, a bundle of black rods with rusty stars on their ends, and
+a collection of brass lanterns. Off to one side a great many dwarves
+are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+not disturb the dwarves!" An immense mirror is hanging against one
+wall, and stretches to the other end of the room, where various other
+sundry objects can be glimpsed dimly in the distance.
+
+> e
+
+There is no way to go that direction.
+
+You're at ne end.
+
+> take oyster
+
+OK
+
+Interesting. There seems to be something written on the underside of
+the oyster.
+
+> read oyster
+
+Hmmm, this looks like a clue, which means it'll cost you 10 points to
+read it. Should I go ahead and read it anyway?
+
+> y
+
+It says, "There is a way out of this place. Do you need any more
+information to escape? Sorry, but this initial hint is all you get."
+
+> read oyster
+
+It says the same thing it did before. Hm, maybe it's a pun?
+
+> drop oyster
+
+OK
+
+> open oyster
+
+You don't have anything strong enough to open the oyster.
+
+> sw
+
+You are at the southwest end of the repository. To one side is a pit
+full of fierce green snakes. On the other side is a row of small
+wicker cages, each of which contains a little sulking bird. In one
+corner is a bundle of black rods with rusty marks on their ends. A
+large number of velvet pillows are scattered about on the floor. A
+vast mirror stretches off to the northeast. At your feet is a large
+steel grate, next to which is a sign that reads, "Treasure Vault.
+Keys in main office."
+
+The grate is locked.
+
+> xyzzy
+
+Nothing happens.
+
+You're at sw end.
+
+The grate is locked.
+
+> plugh
+
+Nothing happens.
+
+You're at sw end.
+
+The grate is locked.
+
+> read sign
+
+"Treasure Vault. Keys in main office."
+
+> carry sign
+
+Your hand passes through it as though it weren't there.
+
+> take rod
+
+OK
+
+> drop rod
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are at the southwest end of the repository. To one side is a pit
+full of fierce green snakes. On the other side is a row of small
+wicker cages, each of which contains a little sulking bird. In one
+corner is a bundle of black rods with rusty marks on their ends. A
+large number of velvet pillows are scattered about on the floor. A
+vast mirror stretches off to the northeast. At your feet is a large
+steel grate, next to which is a sign that reads, "Treasure Vault.
+Keys in main office."
+
+A three foot black rod with a rusty mark on an end lies nearby.
+
+The grate is locked.
+
+> ne
+
+You're at ne end.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> listen
+
+You can hear the murmuring of the beanstalks and the snoring of the
+dwarves.
+
+Even though it's an oyster, the critter's as tight-mouthed as a clam.
+
+> blast rod
+
+There is a loud explosion, and a twenty-foot hole appears in the far
+wall, burying the snakes in the rubble. A river of molten lava pours
+in through the hole, destroying everything in its path, including you!
+
+You scored 389 out of a possible 430, using 482 turns.
+
+Your score puts you in Master Adventurer Class B.
+
+To achieve the next higher rating, you need 22 more points.
diff --git a/tests/defeat.log b/tests/defeat.log
new file mode 100644
index 0000000..f3d6b08
--- /dev/null
+++ b/tests/defeat.log
@@ -0,0 +1,497 @@
+## Last-minute defeat, with lava. Also tests vase drop before pillow.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+go west
+go west
+go west
+drop rod
+take bird
+take rod
+go west
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+go west
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+go west
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+go west
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+go west
+wave rod
+drop rod
+west
+take diamonds
+go west
+go west
+go west
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+west
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+west
+u
+reservoir
+say H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+west
+d
+climb
+west
+n
+oil door
+drop bottle
+n
+take trident
+west
+d
+se
+n
+west
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+west
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+west
+drop axe
+ne
+e
+n
+open clam
+open oyster
+s
+u
+e
+u
+n
+off
+plugh
+# Invert these so we test the vase-drop code
+drop vase
+drop pillow
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+west
+d
+n
+d
+d
+take pearl
+u
+u
+s
+west
+west
+west
+west
+d
+climb
+west
+get eggs
+n
+take bottle
+n
+west
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+west
+west
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+west
+d
+get oil
+up
+e
+take axe
+west
+west
+d
+climb
+west
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+west
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+west
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+# fly rug before dropping emerald, triggering RUG_NOTHING1
+fly rug
+drop emerald
+fly rug
+take sapphire
+fly
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+drop emerald
+take emerald
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+s
+u
+west
+west
+west
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+xyzzy
+drop emerald
+drop chest
+plugh
+on
+s
+d
+west
+d
+e
+read sign
+take magazine
+e
+drop magazine
+w
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+u
+u
+e
+u
+n
+plover
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+take oyster
+# Test both cases (before and after hint) of reading oyster
+read oyster
+y
+read oyster
+drop oyster
+open oyster
+sw
+# We want the xyzzy and plugh words to fail here
+xyzzy
+plugh
+read sign
+carry sign
+take rod
+drop rod
+# look to see dropped rod on ground. Different state than
+# before we picked it up.
+look
+ne
+listen
+blast rod
diff --git a/tests/domefail.chk b/tests/domefail.chk
new file mode 100644
index 0000000..961b8c5
--- /dev/null
+++ b/tests/domefail.chk
@@ -0,0 +1,174 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> take
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take nugget
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> dome
+
+The dome is unclimbable.
+
+You're in Hall of Mists.
+
+> u
+
+The dome is unclimbable.
+
+You're in Hall of Mists.
+
+>
+You scored 63 out of a possible 430, using 24 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 58 more points.
diff --git a/tests/domefail.log b/tests/domefail.log
new file mode 100644
index 0000000..d75352e
--- /dev/null
+++ b/tests/domefail.log
@@ -0,0 +1,29 @@
+## Take nugget and fail to climb to the dome
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+e
+take cage
+w
+w
+w
+take
+w
+d
+d
+free bird
+w
+e
+s
+n
+u
+s
+take nugget
+n
+dome
+u
diff --git a/tests/dragon_secret5.chk b/tests/dragon_secret5.chk
new file mode 100644
index 0000000..b469f27
--- /dev/null
+++ b/tests/dragon_secret5.chk
@@ -0,0 +1,254 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 18084731
+
+Seed set to 18084731
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take
+
+OK
+
+> w
+
+You're in debris room.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> cage bird
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> u
+
+There is no way to go that direction.
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> s
+
+There is no way to go that direction.
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> d
+
+There is no way to go that direction.
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extin
+
+Your lamp is now off.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which exits to the north and east.
+
+There is a little axe here.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill drago
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a little axe here.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+>
+You scored 65 out of a possible 430, using 32 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 56 more points.
diff --git a/tests/dragon_secret5.log b/tests/dragon_secret5.log
new file mode 100644
index 0000000..61f01ac
--- /dev/null
+++ b/tests/dragon_secret5.log
@@ -0,0 +1,38 @@
+## Check that dead dragon actually moves its location (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 18084731
+in
+take lamp
+xyzzy
+on
+e
+take
+w
+w
+w
+cage bird
+w
+d
+d
+free bird
+w
+e
+s
+u
+s
+n
+d
+n
+n
+plugh
+extin
+plugh
+on
+s
+s
+sw
+w
+kill drago
+y
diff --git a/tests/dropcagedbird.chk b/tests/dropcagedbird.chk
new file mode 100644
index 0000000..5f382a3
--- /dev/null
+++ b/tests/dropcagedbird.chk
@@ -0,0 +1,158 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1495951709
+
+Seed set to 1495951709
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> on
+
+Your lamp is now on.
+
+> xyzzy
+
+>>Foof!<<
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> wave rod
+
+The bird flies about agitatedly for a moment.
+
+> take bird
+
+The bird seemed unafraid at first, but as you approach it becomes
+disturbed and you cannot catch it.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take jade
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> drop cage
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> feed snake
+
+There's nothing here it wants to eat (except perhaps you).
+
+>
+You scored 59 out of a possible 430, using 25 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 62 more points.
diff --git a/tests/dropcagedbird.log b/tests/dropcagedbird.log
new file mode 100644
index 0000000..d069f1a
--- /dev/null
+++ b/tests/dropcagedbird.log
@@ -0,0 +1,30 @@
+## Try to carry the bird after freeing it instead of listening
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1495951709
+in
+take lamp
+on
+xyzzy
+take rod
+e
+take cage
+w
+w
+w
+wave rod
+take bird
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take jade
+drop rod
+take bird
+drop cage
+d
+d
+feed snake
diff --git a/tests/drown.chk b/tests/drown.chk
new file mode 100644
index 0000000..9805343
--- /dev/null
+++ b/tests/drown.chk
@@ -0,0 +1,966 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> feed dragon
+
+Don't be ridiculous!
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> H'CFL
+
+Nothing happens.
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> drink
+
+You have taken a drink from the stream. The water tastes strongly of
+minerals, but is not unpleasant. It is extremely cold.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> H'CFL
+
+The waters crash together again.
+
+(Uh, y'know, that wasn't very bright.)
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> n
+
+OK
+
+You scored 177 out of a possible 430, using 153 turns.
+
+You may now consider yourself a "Seasoned Adventurer".
+
+To achieve the next higher rating, you need 74 more points.
diff --git a/tests/drown.log b/tests/drown.log
new file mode 100644
index 0000000..75e89ba
--- /dev/null
+++ b/tests/drown.log
@@ -0,0 +1,161 @@
+## Speak a magic word at an inopportune time and drown.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+feed dragon
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+n
+d
+bedquilt
+slab
+s
+d
+water plant
+H'CFL
+u
+w
+u
+reservoir
+drink
+H'CFL
+n
+H'CFL
+n
diff --git a/tests/dwarf.chk b/tests/dwarf.chk
new file mode 100644
index 0000000..47aec5e
--- /dev/null
+++ b/tests/dwarf.chk
@@ -0,0 +1,387 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1494912171
+
+Seed set to 1494912171
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take keys
+
+OK
+
+> take lamp
+
+OK
+
+> out
+
+You're in front of building.
+
+> down
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> s
+
+At your feet all the water of the stream splashes into a 2-inch slit
+in the rock. Downstream the streambed is bare rock.
+
+> s
+
+You are in a 20-foot depression floored with bare dirt. Set into the
+dirt is a strong steel grate mounted in concrete. A dry streambed
+leads into the depression.
+
+The grate is locked.
+
+> open grate
+
+The grate is now unlocked.
+
+> down
+
+You are in a small chamber beneath a 3x3 steel grate to the surface.
+A low crawl over cobbles leads inward to the west.
+
+The grate is open.
+
+> west
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> west
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> light lamp
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is food here.
+
+There is a bottle of water here.
+
+> xyzzy
+
+>>Foof!<<
+
+You're in debris room.
+
+> west
+
+You are in an awkward sloping east/west canyon.
+
+> drop rod
+
+OK
+
+> west
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> take bird
+
+OK
+
+> east
+
+You are in an awkward sloping east/west canyon.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> west
+
+You're in bird chamber.
+
+> west
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> down
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> south
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> drop bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> west
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in the south side chamber.
+
+There is a little axe here.
+
+There is precious jewelry here!
+
+> drop cage
+
+OK
+
+> take jewelry
+
+OK
+
+> take axe
+
+OK
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Set of keys
+Brass lantern
+Black rod
+Dwarf's axe
+Large gold nugget
+Precious jewelry
+Rare coins
+
+> drop jewelry
+
+OK
+
+> drop gold
+
+OK
+
+> inven
+
+You are currently holding the following:
+Set of keys
+Brass lantern
+Black rod
+Dwarf's axe
+Rare coins
+
+> drop keys
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+There are 2 threatening little dwarves in the room with you.
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're at "Y2".
+
+> s
+
+There are 2 threatening little dwarves in the room with you.
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+There are 2 threatening little dwarves in the room with you.
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> up
+
+There are 2 threatening little dwarves in the room with you.
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+There are 2 threatening little dwarves in the room with you.
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> w
+
+There are 2 threatening little dwarves in the room with you.
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> e
+
+A little dwarf with a big knife blocks your way.
+
+There are 2 threatening little dwarves in the room with you.
+
+2 of them throw knives at you!
+
+One of them gets you!
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> n
+
+OK
+
+You scored 81 out of a possible 430, using 55 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 40 more points.
diff --git a/tests/dwarf.log b/tests/dwarf.log
new file mode 100644
index 0000000..7954a62
--- /dev/null
+++ b/tests/dwarf.log
@@ -0,0 +1,61 @@
+## In which the dwarf kills you
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1494912171
+in
+take keys
+take lamp
+out
+down
+s
+s
+open grate
+down
+west
+take cage
+west
+light lamp
+take rod
+xyzzy
+xyzzy
+west
+drop rod
+west
+take bird
+east
+take rod
+west
+west
+down
+south
+take gold
+n
+n
+drop bird
+west
+take coins
+e
+s
+drop cage
+take jewelry
+take axe
+n
+n
+n
+plugh
+inven
+drop jewelry
+drop gold
+inven
+drop keys
+plugh
+s
+s
+up
+w
+wave rod
+w
+take diamonds
+e
+n
diff --git a/tests/dwarf_alternative.chk b/tests/dwarf_alternative.chk
new file mode 100644
index 0000000..1dae06b
--- /dev/null
+++ b/tests/dwarf_alternative.chk
@@ -0,0 +1,69 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 383847
+
+Seed set to 383847
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> d
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> d
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You fell into a pit and broke every bone in your body!
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> n
+
+OK
+
+You scored 51 out of a possible 430, using 7 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 70 more points.
diff --git a/tests/dwarf_alternative.log b/tests/dwarf_alternative.log
new file mode 100644
index 0000000..ef0a881
--- /dev/null
+++ b/tests/dwarf_alternative.log
@@ -0,0 +1,13 @@
+## Check that dwarf spawns in alternative location (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 383847
+in
+xyzzy
+w
+w
+w
+d
+d
+n
diff --git a/tests/eggs_done.chk b/tests/eggs_done.chk
new file mode 100644
index 0000000..4e85042
--- /dev/null
+++ b/tests/eggs_done.chk
@@ -0,0 +1,1231 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> n
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extin
+
+Your lamp is now off.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill drago
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plove
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> s
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plove
+
+>>Foof!<<
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+You are in a maze of twisty little passages, all different.
+
+> s
+
+You are in a maze of twisting little passages, all different.
+
+> e
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machi
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> n
+
+The ogre snarls and shoves you back.
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> s
+
+There is no way to go that direction.
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedqu
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reser
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> w
+
+There is no way to go that direction.
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> u
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> w
+
+There is no way to go that direction.
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> d
+
+There is no way to go that direction.
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> d
+
+There is no way to go that direction.
+
+You are at one end of an immense north/south passage.
+
+The way north leads through a massive, rusty, iron door.
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> e
+
+There is no way to go that direction.
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> se
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> w
+
+You're in Swiss Cheese Room.
+
+> ne
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> e
+
+There is no way to go that direction.
+
+You're in Shell Room.
+
+There is an enormous clam here with its shell tightly closed.
+
+> u
+
+You are in an arched hall. A coral passage once continued up and east
+from here, but is now blocked by debris. The air smells of sea water.
+
+> n
+
+There is no way to go that direction.
+
+You're in arched hall.
+
+> s
+
+There is no way to go that direction.
+
+You're in arched hall.
+
+> d
+
+You're in Shell Room.
+
+There is an enormous clam here with its shell tightly closed.
+
+> w
+
+There is no way to go that direction.
+
+You're in Shell Room.
+
+There is an enormous clam here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> n
+
+There is no way to go that direction.
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+> d
+
+There is no way to go that direction.
+
+You are in a cul-de-sac about eight feet across.
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous clam here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+There are faint rustling noises from the darkness behind you.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You're in Swiss Cheese Room.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+There are faint rustling noises from the darkness behind you.
+
+There is a threatening little dwarf in the room with you!
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+There is a threatening little dwarf in the room with you!
+
+You're in narrow corridor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> take egg
+
+OK
+
+> n
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+There is a threatening little dwarf in the room with you!
+
+You are at one end of an immense north/south passage.
+
+The way north leads through a massive, rusty, iron door.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+Done!
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of an immense north/south passage.
+
+The way north leads through a massive, rusty, iron door.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Black rod
+Small bottle
+
+>
+You scored 77 out of a possible 430, using 190 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 44 more points.
diff --git a/tests/eggs_done.log b/tests/eggs_done.log
new file mode 100644
index 0000000..829c292
--- /dev/null
+++ b/tests/eggs_done.log
@@ -0,0 +1,196 @@
+## Be done with Giant Room and eggs (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+d
+d
+free bird
+w
+take coins
+e
+s
+take n
+u
+s
+n
+d
+n
+n
+plugh
+extin
+plugh
+on
+s
+s
+sw
+take
+w
+kill drago
+y
+e
+e
+u
+d
+n
+n
+off
+plugh
+out
+s
+w
+n
+s
+s
+n
+in
+take water
+plugh
+on
+plove
+s
+plove
+s
+s
+u
+w
+wave rod
+west
+w
+w
+w
+s
+s
+e
+s
+kill machi
+s
+s
+n
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+n
+n
+n
+off
+plugh
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedqu
+throw axe
+slab
+s
+d
+water plant
+u
+w
+u
+reser
+H'CFL
+n
+n
+w
+u
+u
+u
+u
+w
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+d
+n
+w
+d
+se
+n
+w
+nw
+s
+e
+se
+e
+w
+ne
+e
+n
+e
+u
+n
+s
+d
+w
+d
+n
+d
+d
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+take egg
+n
+fee
+fie
+foe
+foo
+look
+inven
diff --git a/tests/eggs_vanish.chk b/tests/eggs_vanish.chk
new file mode 100644
index 0000000..256ac5e
--- /dev/null
+++ b/tests/eggs_vanish.chk
@@ -0,0 +1,443 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> take
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> n
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extin
+
+Your lamp is now off.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+You're at "Y2".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+> plugh
+
+>>Foof!<<
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedqu
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reser
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You're in west pit.
+
+There is a little axe here.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a little axe here.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> take
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+The nest of golden eggs has vanished!
+
+> s
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> e
+
+The passage here is blocked by a recent cave-in.
+
+>
+You scored 67 out of a possible 430, using 66 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 54 more points.
diff --git a/tests/eggs_vanish.log b/tests/eggs_vanish.log
new file mode 100644
index 0000000..3e9c799
--- /dev/null
+++ b/tests/eggs_vanish.log
@@ -0,0 +1,72 @@
+## Vanishing eggs in Giant Room (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+e
+take cage
+w
+w
+w
+take
+w
+d
+d
+free bird
+w
+e
+s
+n
+u
+s
+n
+d
+n
+n
+plugh
+extin
+plugh
+on
+plugh
+take water
+plugh
+plugh
+plugh
+s
+d
+bedqu
+slab
+s
+d
+water plant
+u
+w
+u
+reser
+H'CFL
+n
+n
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+climb
+w
+take
+n
+fee
+fie
+foe
+foo
+# go south, east to arrive at LOC_CAVEIN for coverage
+s
+e
diff --git a/tests/endgame428.chk b/tests/endgame428.chk
new file mode 100644
index 0000000..2647e25
--- /dev/null
+++ b/tests/endgame428.chk
@@ -0,0 +1,2946 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You're in anteroom.
+
+> u
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+Your lamp has run out of power.
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+The sepulchral voice intones, "The cave is now closed." As the echoes
+fade, there is a blinding flash of light (and a small puff of orange
+smoke). . . . As your eyes refocus, you look around and find...
+
+You are at the northeast end of an immense room, even larger than the
+Giant Room. It appears to be a repository for the "Adventure"
+program. Massive torches far overhead bathe the room with smoky
+yellow light. Scattered about you can be seen a pile of bottles (all
+of them empty), a nursery of young beanstalks murmuring quietly, a bed
+of oysters, a bundle of black rods with rusty stars on their ends, and
+a collection of brass lanterns. Off to one side a great many dwarves
+are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+not disturb the dwarves!" An immense mirror is hanging against one
+wall, and stretches to the other end of the room, where various other
+sundry objects can be glimpsed dimly in the distance.
+
+> sw
+
+You are at the southwest end of the repository. To one side is a pit
+full of fierce green snakes. On the other side is a row of small
+wicker cages, each of which contains a little sulking bird. In one
+corner is a bundle of black rods with rusty marks on their ends. A
+large number of velvet pillows are scattered about on the floor. A
+vast mirror stretches off to the northeast. At your feet is a large
+steel grate, next to which is a sign that reads, "Treasure Vault.
+Keys in main office."
+
+The grate is locked.
+
+> take rod
+
+OK
+
+> ne
+
+You're at ne end.
+
+> drop rod
+
+OK
+
+> sw
+
+You're at sw end.
+
+The grate is locked.
+
+> blast
+
+There is a loud explosion, and a twenty-foot hole appears in the far
+wall, burying the dwarves in the rubble. You march through the hole
+and find yourself in the main office, where a cheering band of
+friendly elves carry the conquering adventurer off into the sunset.
+
+It's a pity you took so long about it.
+
+You scored 428 out of a possible 430, using 467 turns.
+
+All of Adventuredom gives tribute to you, Adventurer Grandmaster!
+
+To achieve the next higher rating, you need 2 more points.
diff --git a/tests/endgame428.log b/tests/endgame428.log
new file mode 100644
index 0000000..9556677
--- /dev/null
+++ b/tests/endgame428.log
@@ -0,0 +1,475 @@
+## 428-point walkthrough
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+s
+u
+w
+w
+w
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+xyzzy
+drop emerald
+drop chest
+plugh
+on
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+u
+u
+e
+u
+n
+plover
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+sw
+take rod
+ne
+drop rod
+sw
+blast
diff --git a/tests/endobjects.chk b/tests/endobjects.chk
new file mode 100644
index 0000000..42132d3
--- /dev/null
+++ b/tests/endobjects.chk
@@ -0,0 +1,2464 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> no
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 11247848
+
+Seed set to 11247848
+
+You're in front of building.
+
+> no
+
+OK
+
+> seed 1516020414
+
+Seed set to 1516020414
+
+You're in front of building.
+
+> e
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plove
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> get emerald
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> drop emerald
+
+OK
+
+> e
+
+You're in Plover Room.
+
+> ne
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> get pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+> plove
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop pyramid
+
+OK
+
+> get lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> get rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> get cage
+
+OK
+
+> pit
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> w
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> get diamonds
+
+OK
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> u
+
+You're at top of small pit.
+
+Rough stone steps lead down the pit.
+
+> drop rod
+
+OK
+
+> e
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> get bird
+
+OK
+
+> w
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> get rod
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> get necklace
+
+OK
+
+> drop rod
+
+OK
+
+> get bird
+
+OK
+
+> d
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> get gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> get bird
+
+OK
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> get jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> get rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop diamonds
+
+OK
+
+> w
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> get appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "U'SIM". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> e
+
+You're inside building.
+
+There are diamonds here!
+
+There is precious jewelry here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> plugh
+
+>>Foof!<<
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+> sw
+
+You're in secret e/w canyon above tight canyon.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> n
+
+You are in a secret n/s canyon above a large room.
+
+> reserv
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> U'SIM
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> u
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> get statuette
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which exits to the north and east.
+
+There is a little axe here.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> get axe
+
+OK
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+A little dwarf with a big knife blocks your way.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at a crossover of a high n/s passage and a low e/w one.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> hit machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> hit ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> s
+
+There is no way to go that direction.
+
+You are in a large chamber with passages to the west and north.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> get ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> d
+
+You are in a maze of little twisting passages, all different.
+
+> d
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mt King.
+
+There is a little axe here.
+
+> get axe
+
+OK
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> get silver
+
+OK
+
+> n
+
+You're at "Y2".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are diamonds here!
+
+There is precious jewelry here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop silver
+
+OK
+
+> drop ebony
+
+OK
+
+> drop appendage
+
+OK
+
+> get water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> throw axe
+
+You killed a little dwarf.
+
+You're at "Y2".
+
+There is a little axe here.
+
+> get axe
+
+OK
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> w
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> pour water
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> e
+
+You're at east end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> e
+
+You're in Swiss Cheese Room.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> get pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> orien
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> get vase
+
+OK
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+There is an emerald here the size of a plover's egg!
+
+> get emerald
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+> ne
+
+You're in Bedquilt.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a richly-carved ebony statuette here!
+
+There are bars of silver here!
+
+There are diamonds here!
+
+There is precious jewelry here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop emerald
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+You're in debris room.
+
+> pit
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+There are faint rustling noises from the darkness behind you.
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There are faint rustling noises from the darkness behind you.
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You attack a little dwarf, but he dodges out of the way.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> get axe
+
+OK
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is an enormous ruby here!
+
+There is a Persian rug spread out on the floor!
+
+The pirate's treasure chest is here!
+
+> get chest
+
+OK
+
+> get ruby
+
+OK
+
+> get rug
+
+OK
+
+> se
+
+A little dwarf with a big knife blocks your way.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+Dead end
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> s
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> debris
+
+You're in debris room.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is an emerald here the size of a plover's egg!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a richly-carved ebony statuette here!
+
+There are bars of silver here!
+
+There are diamonds here!
+
+There is precious jewelry here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop chest
+
+OK
+
+> get emerald
+
+OK
+
+> w
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> get amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> get sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> get emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> get rug
+
+OK
+
+> get ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You're in front of building.
+
+> e
+
+You're inside building.
+
+The pirate's treasure chest is here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a richly-carved ebony statuette here!
+
+There are bars of silver here!
+
+There are diamonds here!
+
+There is precious jewelry here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+OK
+
+> drop emerald
+
+OK
+
+> drop rug
+
+OK
+
+> get water
+
+Your bottle is now full of water.
+
+> get keys
+
+OK
+
+> get food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+You're at "Y2".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> sw
+
+You're in secret e/w canyon above tight canyon.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> n
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> pour water
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> get trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> cross
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> e
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> get chain
+
+OK
+
+> get bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> drop keys
+
+OK
+
+> get spices
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> cross
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> cross
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> bedquilt
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> d
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> get pearl
+
+OK
+
+> shell
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> w
+
+You're in the west side chamber.
+
+There are many coins here!
+
+> drop bottle
+
+OK
+
+> get coins
+
+OK
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is an emerald here the size of a plover's egg!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+The pirate's treasure chest is here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a richly-carved ebony statuette here!
+
+There are bars of silver here!
+
+There are diamonds here!
+
+There is precious jewelry here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> drop chain
+
+OK
+
+> drop spices
+
+OK
+
+> drop trident
+
+OK
+
+> drop pearl
+
+OK
+
+> drop eggs
+
+OK
+
+> drop coins
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> get magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+Your lamp has run out of power.
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+Do you need help getting out of here?
+
+> no
+
+OK
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+Do you need help getting out of here?
+
+> no
+
+OK
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+Do you need help getting out of here?
+
+> no
+
+OK
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> look
+
+The sepulchral voice intones, "The cave is now closed." As the echoes
+fade, there is a blinding flash of light (and a small puff of orange
+smoke). . . . As your eyes refocus, you look around and find...
+
+You are at the northeast end of an immense room, even larger than the
+Giant Room. It appears to be a repository for the "Adventure"
+program. Massive torches far overhead bathe the room with smoky
+yellow light. Scattered about you can be seen a pile of bottles (all
+of them empty), a nursery of young beanstalks murmuring quietly, a bed
+of oysters, a bundle of black rods with rusty stars on their ends, and
+a collection of brass lanterns. Off to one side a great many dwarves
+are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+not disturb the dwarves!" An immense mirror is hanging against one
+wall, and stretches to the other end of the room, where various other
+sundry objects can be glimpsed dimly in the distance.
+
+> get water
+
+I see no water here.
+
+> get bottle
+
+OK
+
+> inven
+
+You are currently holding the following:
+Small bottle
+
+> sw
+
+You are at the southwest end of the repository. To one side is a pit
+full of fierce green snakes. On the other side is a row of small
+wicker cages, each of which contains a little sulking bird. In one
+corner is a bundle of black rods with rusty marks on their ends. A
+large number of velvet pillows are scattered about on the floor. A
+vast mirror stretches off to the northeast. At your feet is a large
+steel grate, next to which is a sign that reads, "Treasure Vault.
+Keys in main office."
+
+The grate is locked.
+
+> get cage
+
+OK
+
+> inven
+
+You are currently holding the following:
+Wicker cage
+Little bird in cage
+Small bottle
+
+> get bird
+
+You are already carrying it!
+
+> inven
+
+You are currently holding the following:
+Wicker cage
+Little bird in cage
+Small bottle
+
+> quit
+
+Do you really want to quit now?
+
+> yes
+
+OK
+
+You scored 389 out of a possible 430, using 416 turns.
+
+Your score puts you in Master Adventurer Class B.
+
+To achieve the next higher rating, you need 22 more points.
diff --git a/tests/endobjects.log b/tests/endobjects.log
new file mode 100644
index 0000000..978d457
--- /dev/null
+++ b/tests/endobjects.log
@@ -0,0 +1,430 @@
+### Check that water is unavailable in endgame
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Addresses GitLab issue #55: in endgame, some object starting states are incorrect
+#NOCOMPARE Bird was not weightless in cage in advent430, this test depends on that.
+no
+seed 11247848
+no
+seed 1516020414
+e
+plugh
+plove
+get emerald
+w
+drop emerald
+e
+ne
+get pyramid
+s
+plove
+plugh
+drop pyramid
+get lamp
+xyzzy
+on
+get rod
+e
+get cage
+pit
+d
+w
+wave rod
+w
+get diamonds
+e
+e
+u
+drop rod
+e
+get bird
+w
+free bird
+get rod
+wave rod
+get necklace
+drop rod
+get bird
+d
+s
+get gold
+n
+d
+free bird
+get bird
+s
+get jewelry
+n
+sw
+w
+kill dragon
+yes
+drink blood
+get rug
+e
+e
+n
+n
+plugh
+drop necklace
+drop gold
+drop jewelry
+drop diamonds
+w
+s
+w
+n
+get appendage
+free bird
+drop cage
+listen
+s
+s
+n
+e
+plugh
+s
+s
+sw
+w
+n
+reserv
+U'SIM
+n
+n
+u
+u
+u
+u
+u
+ne
+get statuette
+sw
+d
+d
+d
+d
+d
+s
+s
+s
+s
+s
+get axe
+e
+e
+e
+w
+w
+w
+w
+s
+sw
+se
+s
+hit machine
+s
+s
+hit ogre
+s
+n
+get ruby
+s
+w
+n
+n
+d
+d
+d
+e
+e
+e
+e
+e
+d
+throw axe
+get axe
+n
+get silver
+n
+plugh
+drop silver
+drop ebony
+drop appendage
+get water
+plugh
+throw axe
+get axe
+s
+d
+bedquilt
+w
+w
+w
+d
+pour water
+u
+e
+d
+get oil
+u
+e
+e
+get pillow
+w
+orien
+get vase
+n
+w
+get emerald
+nw
+s
+se
+ne
+slab
+u
+s
+e
+e
+n
+n
+plugh
+drop pillow
+drop vase
+drop emerald
+xyzzy
+pit
+d
+w
+w
+w
+s
+e
+s
+s
+s
+n
+throw axe
+get axe
+e
+e
+nw
+get chest
+get ruby
+get rug
+se
+se
+w
+throw axe
+s
+d
+debris
+xyzzy
+drop chest
+get emerald
+w
+w
+n
+n
+n
+fill urn
+light urn
+rub urn
+get amber
+drop rug
+drop emerald
+fly rug
+get sapphire
+fly rug
+get emerald
+drop ruby
+get rug
+get ruby
+e
+s
+e
+e
+e
+drop ruby
+drop sapphire
+drop amber
+drop emerald
+drop rug
+get water
+get keys
+get food
+plugh
+s
+s
+sw
+w
+n
+d
+s
+d
+pour water
+u
+e
+d
+get oil
+u
+w
+d
+climb
+w
+get eggs
+n
+oil door
+n
+get trident
+w
+d
+sw
+u
+toss eggs
+cross
+barren
+e
+feed bear
+unlock chain
+get chain
+get bear
+fork
+ne
+e
+drop keys
+get spices
+fork
+w
+w
+cross
+free bear
+cross
+sw
+d
+bedquilt
+w
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+get eggs
+s
+d
+u
+e
+e
+ne
+e
+n
+open clam
+d
+d
+get pearl
+shell
+s
+u
+e
+u
+s
+w
+drop bottle
+get coins
+e
+n
+n
+plugh
+drop chain
+drop spices
+drop trident
+drop pearl
+drop eggs
+drop coins
+plugh
+s
+d
+w
+d
+e
+get magazine
+e
+drop magazine
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+no
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+no
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+look
+no
+look
+look
+get water
+get bottle
+inven
+sw
+get cage
+# In the original game, the bird is in the cage at this point
+inven
+get bird
+inven
+quit
+yes
diff --git a/tests/fail_hint_maze.chk b/tests/fail_hint_maze.chk
new file mode 100644
index 0000000..46b0aa7
--- /dev/null
+++ b/tests/fail_hint_maze.chk
@@ -0,0 +1,444 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 25508795
+
+Seed set to 25508795
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> take
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> w
+
+You are at a crossover of a high n/s passage and a low e/w one.
+
+> w
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> e
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+>
+You scored 59 out of a possible 430, using 93 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 62 more points.
diff --git a/tests/fail_hint_maze.log b/tests/fail_hint_maze.log
new file mode 100644
index 0000000..982d44b
--- /dev/null
+++ b/tests/fail_hint_maze.log
@@ -0,0 +1,98 @@
+## Fail to get maze hint by being empty-handed (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 25508795
+in
+take lamp
+xyzzy
+on
+e
+take cage
+w
+w
+w
+take
+w
+d
+d
+free bird
+w
+w
+w
+e
+s
+s
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
diff --git a/tests/fail_hint_ogre.chk b/tests/fail_hint_ogre.chk
new file mode 100644
index 0000000..4d300b7
--- /dev/null
+++ b/tests/fail_hint_ogre.chk
@@ -0,0 +1,1646 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> n
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extin
+
+Your lamp is now off.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill drago
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plove
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> s
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plove
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machi
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+>
+
+I don't know how to apply that word here.
+
+You are in a large chamber with passages to the west and north.
+
+> s
+
+There is no way to go that direction.
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedqu
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reser
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> w
+
+There is no way to go that direction.
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> u
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> n
+
+There is no way to go that direction.
+
+You are climbing along a nearly vertical cliff.
+
+> w
+
+There is no way to go that direction.
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> d
+
+There is no way to go that direction.
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> e
+
+Something you're carrying won't fit through the tunnel with you.
+You'd best take inventory and drop something.
+
+You're in alcove.
+
+> w
+
+There is no way to go that direction.
+
+You're in alcove.
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> s
+
+There is no way to go that direction.
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is food here.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous clam here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> climb
+
+I don't know how to apply that word here.
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> n
+
+You're in Bedquilt.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> e
+
+You're in Soft Room.
+
+A small velvet pillow lies on the floor.
+
+> barre
+
+I don't know how to apply that word here.
+
+You're in Soft Room.
+
+A small velvet pillow lies on the floor.
+
+> n
+
+There is no way to go that direction.
+
+You're in Soft Room.
+
+A small velvet pillow lies on the floor.
+
+> w
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> n
+
+There is no way to go that direction.
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> s
+
+There is no way to go that direction.
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> s
+
+There is no way to go that direction.
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> e
+
+There is no way to go that direction.
+
+You're in east pit.
+
+> e
+
+There is no way to go that direction.
+
+You're in east pit.
+
+> w
+
+There is no way to go that direction.
+
+You're in east pit.
+
+> d
+
+There is no way to go that direction.
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take
+
+OK
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+There are faint rustling noises from the darkness behind you.
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> s
+
+There is no way to go that direction.
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+There are faint rustling noises from the darkness behind you.
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> n
+
+There is no way to go that direction.
+
+You're in secret e/w canyon above tight canyon.
+
+> n
+
+There is no way to go that direction.
+
+You're in secret e/w canyon above tight canyon.
+
+> n
+
+There is no way to go that direction.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> n
+
+There is no way to go that direction.
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+There are faint rustling noises from the darkness behind you.
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+There are faint rustling noises from the darkness behind you.
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+> plugh
+
+>>Foof!<<
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> w
+
+You're in the west side chamber.
+
+There are many coins here!
+
+> w
+
+You are at a crossover of a high n/s passage and a low e/w one.
+
+> w
+
+You're at east end of long hall.
+
+> w
+
+You're at west end of long hall.
+
+> s
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> s
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+>
+You scored 77 out of a possible 430, using 263 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 44 more points.
diff --git a/tests/fail_hint_ogre.log b/tests/fail_hint_ogre.log
new file mode 100644
index 0000000..3df4697
--- /dev/null
+++ b/tests/fail_hint_ogre.log
@@ -0,0 +1,270 @@
+## Qualify for ogre hint but fail due to dwarves dead (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE Fails due uninteresting difference in whitespace process.
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take
+w
+d
+d
+free bird
+w
+e
+s
+n
+u
+s
+n
+d
+n
+n
+plugh
+extin
+plugh
+on
+s
+s
+sw
+take
+w
+kill drago
+y
+e
+e
+u
+d
+n
+n
+off
+plugh
+out
+s
+w
+n
+s
+s
+n
+in
+take water
+plugh
+on
+plove
+e
+s
+plove
+s
+s
+u
+w
+wave rod
+west
+w
+w
+w
+s
+sw
+se
+s
+kill machi
+s
+s
+kill ogre
+
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedqu
+throw axe
+take
+slab
+s
+d
+water plant
+u
+w
+u
+reser
+H'CFL
+n
+n
+w
+u
+u
+u
+u
+n
+w
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+n
+w
+d
+se
+n
+w
+e
+w
+nw
+s
+se
+throw axe
+e
+w
+ne
+e
+s
+u
+e
+u
+n
+off
+plugh
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+u
+u
+s
+w
+w
+w
+w
+climb
+w
+n
+n
+w
+e
+barre
+n
+w
+w
+n
+s
+s
+d
+e
+e
+w
+d
+u
+e
+take
+w
+w
+s
+d
+u
+w
+u
+s
+e
+n
+n
+n
+n
+e
+u
+w
+w
+w
+s
+e
+s
+throw axe
+s
+s
+n
+e
+d
+e
+e
+xyzzy
+plugh
+s
+s
+w
+w
+w
+w
+s
+sw
+se
+s
+s
+s
+z
+z
+z
+z
+z
+z
+z
+z
+z
diff --git a/tests/fail_hint_ogre2.chk b/tests/fail_hint_ogre2.chk
new file mode 100644
index 0000000..3437b22
--- /dev/null
+++ b/tests/fail_hint_ogre2.chk
@@ -0,0 +1,402 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 25508795
+
+Seed set to 25508795
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> cage bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> n
+
+You can't get by the snake.
+
+You're in Hall of Mt King.
+
+A huge green fierce snake bars the way!
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> n
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You're in Hall of Mt King.
+
+A huge green fierce snake bars the way!
+
+> n
+
+You can't get by the snake.
+
+You're in Hall of Mt King.
+
+A huge green fierce snake bars the way!
+
+> n
+
+You can't get by the snake.
+
+You're in Hall of Mt King.
+
+A huge green fierce snake bars the way!
+
+> plugh
+
+Nothing happens.
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> n
+
+You can't get by the snake.
+
+You're in Hall of Mt King.
+
+A huge green fierce snake bars the way!
+
+> plugh
+
+Nothing happens.
+
+You're in Hall of Mt King.
+
+A huge green fierce snake bars the way!
+
+> s
+
+You can't get by the snake.
+
+You're in Hall of Mt King.
+
+A huge green fierce snake bars the way!
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which exits to the north and east.
+
+There is a little axe here.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+A huge green fierce snake bars the way!
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+>
+You scored 63 out of a possible 430, using 56 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 58 more points.
diff --git a/tests/fail_hint_ogre2.log b/tests/fail_hint_ogre2.log
new file mode 100644
index 0000000..6e37f8e
--- /dev/null
+++ b/tests/fail_hint_ogre2.log
@@ -0,0 +1,62 @@
+## Qualify for ogre hint but fail due to nearby dwarf (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 25508795
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take
+w
+w
+w
+drop rod
+cage bird
+take rod
+w
+d
+d
+n
+u
+s
+n
+d
+n
+n
+plugh
+n
+plugh
+s
+sw
+w
+kill
+y
+e
+e
+u
+w
+wave rod
+w
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+z
+z
+z
+z
+z
+z
+z
+z
+z
+look
diff --git a/tests/fail_hint_woods.chk b/tests/fail_hint_woods.chk
new file mode 100644
index 0000000..ca5ac5e
--- /dev/null
+++ b/tests/fail_hint_woods.chk
@@ -0,0 +1,117 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> z
+
+OK
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> z
+
+OK
+
+> z
+
+OK
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+>
+You scored 32 out of a possible 430, using 25 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 14 more points.
diff --git a/tests/fail_hint_woods.log b/tests/fail_hint_woods.log
new file mode 100644
index 0000000..21694b5
--- /dev/null
+++ b/tests/fail_hint_woods.log
@@ -0,0 +1,29 @@
+## Fail getting wood hint by finding appendage (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+n
+z
+z
+z
+z
+w
+z
+w
+z
+z
+n
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
diff --git a/tests/fillfail.chk b/tests/fillfail.chk
new file mode 100644
index 0000000..11f58eb
--- /dev/null
+++ b/tests/fillfail.chk
@@ -0,0 +1,65 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> carry lamp
+
+OK
+
+> carry bottle
+
+OK
+
+> drop water
+
+OK
+
+> carry bottle
+
+OK
+
+> drink
+
+The bottle of water is now empty.
+
+> fill bottle
+
+Your bottle is now full of water.
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> fill lamp
+
+You can't fill that.
+
+> fill bottle
+
+Your bottle is already full.
+
+>
+You scored 32 out of a possible 430, using 10 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 14 more points.
diff --git a/tests/fillfail.log b/tests/fillfail.log
new file mode 100644
index 0000000..1a9e12b
--- /dev/null
+++ b/tests/fillfail.log
@@ -0,0 +1,14 @@
+## Attempt to fill lamp, attempt to fill bottle with no source
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+in
+carry lamp
+carry bottle
+drop water
+carry bottle
+drink
+fill bottle
+xyzzy
+fill lamp
+fill bottle
diff --git a/tests/fillvase.chk b/tests/fillvase.chk
new file mode 100644
index 0000000..cbbeea4
--- /dev/null
+++ b/tests/fillvase.chk
@@ -0,0 +1,1471 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> fill vase
+
+There is nothing here with which to fill it.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> out
+
+You're in front of building.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Velvet pillow
+Jeweled trident
+Ming vase
+Egg-sized emerald
+Ebony statuette
+
+> stream
+
+You're in valley.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> fill vase
+
+You aren't carrying it!
+
+> carry vase
+
+OK
+
+> read vase
+
+I'm afraid I don't understand.
+
+> fill vase
+
+The sudden change in temperature has delicately shattered the vase.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Jeweled trident
+Egg-sized emerald
+Ebony statuette
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+The ground is littered with worthless shards of pottery.
+
+A small velvet pillow lies on the ground.
+
+> take vase
+
+You can't be serious!
+
+>
+You scored 191 out of a possible 430, using 241 turns.
+
+You may now consider yourself a "Seasoned Adventurer".
+
+To achieve the next higher rating, you need 60 more points.
diff --git a/tests/fillvase.log b/tests/fillvase.log
new file mode 100644
index 0000000..2f9c76c
--- /dev/null
+++ b/tests/fillvase.log
@@ -0,0 +1,263 @@
+## Fill the vase
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Arthur O'Dwyer writes:
+#
+# (4) Lastly, here's a test case for you! Go get the VASE; then get the
+# PILLOW; then go back to the stream (any stream) and DROP PILLOW; then FILL
+# VASE. What should happen? This is a trick question, because literally every
+# historical version of Adventure has *some* bug here. They duplicate
+# messages (MCDO0551), or the vase shatters and then shows up re-formed but
+# immobile (WOOD0350, WOOD0430), or the vase shows up shattered but still in
+# your inventory (KNUT0350), or... So you get to pick your behavior! From the
+# code, I think you're faithfully emulating WOOD0430's bug.
+#
+# Turns out we fixed this, perhaps inadvertently.
+#
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+# Inserted
+fill vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+out
+# Everything not marked 'Inserted' above this from endgame428
+inven
+stream
+drop pillow
+drop vase
+fill vase
+carry vase
+read vase
+fill vase
+inven
+look
+take vase
diff --git a/tests/flyback.chk b/tests/flyback.chk
new file mode 100644
index 0000000..04b658c
--- /dev/null
+++ b/tests/flyback.chk
@@ -0,0 +1,2046 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+You can't carry anything more. You'll have to drop something first.
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> drop keys
+
+OK
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+I see no eggs here.
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You're on ledge.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+>
+You scored 257 out of a possible 430, using 337 turns.
+
+You have reached "Junior Master" status.
+
+To achieve the next higher rating, you need 64 more points.
diff --git a/tests/flyback.log b/tests/flyback.log
new file mode 100644
index 0000000..18c380c
--- /dev/null
+++ b/tests/flyback.log
@@ -0,0 +1,345 @@
+## Test fix for issue 51: rug flying is broken
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE Behavior differs due to a bug fix.
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+fork
+w
+w
+sw
+free bear
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+drop keys
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+fly rug
+fly rug
diff --git a/tests/footslip.chk b/tests/footslip.chk
new file mode 100644
index 0000000..a9f28d3
--- /dev/null
+++ b/tests/footslip.chk
@@ -0,0 +1,804 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> n
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extin
+
+Your lamp is now off.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill drago
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plove
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> s
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plove
+
+>>Foof!<<
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+You are in a maze of twisty little passages, all different.
+
+> s
+
+You are in a maze of twisting little passages, all different.
+
+> e
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machi
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> n
+
+The ogre snarls and shoves you back.
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> s
+
+There is no way to go that direction.
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedqu
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reser
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> w
+
+There is no way to go that direction.
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> u
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+tumble several hundred feet to join the other unlucky adventurers.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> y
+
+All right. But don't blame me if something goes wr......
+ --- POOF!! ---
+You are engulfed in a cloud of orange smoke. Coughing and gasping,
+you emerge from the smoke and find....
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is food here.
+
+>
+
+>
+You scored 61 out of a possible 430, using 121 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 60 more points.
diff --git a/tests/footslip.log b/tests/footslip.log
new file mode 100644
index 0000000..8b9edf2
--- /dev/null
+++ b/tests/footslip.log
@@ -0,0 +1,129 @@
+## Coverage of LOC_FOOTSLIP
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+d
+d
+free bird
+w
+take coins
+e
+s
+take n
+u
+s
+n
+d
+n
+n
+plugh
+extin
+plugh
+on
+s
+s
+sw
+take
+w
+kill drago
+y
+e
+e
+u
+d
+n
+n
+off
+plugh
+out
+s
+w
+n
+s
+s
+n
+in
+take water
+plugh
+on
+plove
+s
+plove
+s
+s
+u
+w
+wave rod
+west
+w
+w
+w
+s
+s
+e
+s
+kill machi
+s
+s
+n
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+n
+n
+n
+off
+plugh
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedqu
+throw axe
+slab
+s
+d
+water plant
+u
+w
+u
+reser
+H'CFL
+n
+n
+w
+u
+u
+u
+u
+u
+y
+
diff --git a/tests/gemstates.chk b/tests/gemstates.chk
new file mode 100644
index 0000000..8739f93
--- /dev/null
+++ b/tests/gemstates.chk
@@ -0,0 +1,2153 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1635997320
+
+Seed set to 1635997320
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take jade
+
+OK
+
+> e
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jade
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You're in bird chamber.
+
+> w
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jewelry
+
+OK
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "F'UNJ". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There are 2 threatening little dwarves in the room with you.
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're at east end of long hall.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> drop bottle
+
+OK
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+There is a bottle of water here.
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop gold
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> drop ruby
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+There is a bottle of water here.
+
+Rough stone steps lead up the dome.
+
+> take water
+
+OK
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> bedquilt
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> F'UNJ
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> drop appendage
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Dwarf's axe
+Jeweled trident
+Ebony statuette
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> drop axe
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+There are faint rustling noises from the darkness behind you.
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a delicate, precious, ming vase here!
+
+There is a jewel-encrusted trident here!
+
+The pirate's treasure chest is here!
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Velvet pillow
+
+> take ebony
+
+OK
+
+> take vase
+
+OK
+
+> take trident
+
+OK
+
+> take chest
+
+OK
+
+> take emerald
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is an enormous ruby here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is a large sparkling nugget of gold here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop chest
+
+OK
+
+> drop ebony
+
+OK
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a gentle cave bear sitting placidly in one corner.
+
+The bear is locked to the wall with a golden chain!
+
+> take chain
+
+The chain is still locked.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> drop keys
+
+OK
+
+> take spices
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+There is a little axe here.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a richly-carved ebony statuette here!
+
+The pirate's treasure chest is here!
+
+There is an enormous ruby here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is a large sparkling nugget of gold here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+You are already carrying it!
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> drop bottle
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+There is a bottle of oil here.
+
+A small urn is embedded in the rock.
+
+> take bottle
+
+OK
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+There is an amber gemstone resting in a small cavity in the rock!
+
+> take amber
+
+OK
+
+> look
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+There is a small urn-shaped cavity in the rock.
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop sapphire
+
+The gem fits easily into the cavity.
+
+> look
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+There is a star sapphire resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take sapphire
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> look
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+There is a ruby resting in a small cavity in the rock!
+
+There is a Persian rug spread out on the floor!
+
+>
+You scored 271 out of a possible 430, using 365 turns.
+
+You have reached "Junior Master" status.
+
+To achieve the next higher rating, you need 50 more points.
diff --git a/tests/gemstates.log b/tests/gemstates.log
new file mode 100644
index 0000000..a07d86f
--- /dev/null
+++ b/tests/gemstates.log
@@ -0,0 +1,371 @@
+## Observe amber, ruby, sapphire after state change
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1635997320
+in
+take lamp
+xyzzy
+take rod
+e
+take cage
+w
+on
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+drop rod
+take bird
+take jade
+e
+e
+e
+off
+xyzzy
+drop jade
+xyzzy
+on
+w
+w
+w
+take rod
+d
+w
+wave rod
+drop rod
+e
+n
+free bird
+take bird
+s
+take jewelry
+n
+sw
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+n
+take silver
+n
+off
+plugh
+drop jewelry
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+d
+take axe
+u
+s
+up
+w
+w
+w
+w
+throw axe
+take axe
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+take diamonds
+e
+e
+drop bottle
+s
+take gold
+n
+n
+n
+n
+off
+plugh
+drop gold
+drop diamonds
+drop pyramid
+drop ruby
+plugh
+on
+s
+s
+u
+take water
+throw axe
+take axe
+n
+n
+d
+bedquilt
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+F'UNJ
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+drop appendage
+n
+take trident
+w
+d
+se
+n
+w
+inven
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+e
+take pillow
+w
+ne
+e
+n
+open clam
+s
+u
+e
+u
+s
+drop axe
+e
+w
+w
+w
+s
+e
+s
+s
+s
+n
+e
+e
+nw
+inven
+take ebony
+take vase
+take trident
+take chest
+take emerald
+se
+n
+d
+e
+e
+off
+xyzzy
+drop chest
+drop ebony
+drop pillow
+drop vase
+drop trident
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+look
+take chain
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+drop keys
+take spices
+fork
+w
+w
+sw
+free bear
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+drop bottle
+look
+take bottle
+fill urn
+light urn
+rub urn
+look
+take amber
+look
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop sapphire
+look
+take sapphire
+drop ruby
+look
diff --git a/tests/goback.chk b/tests/goback.chk
new file mode 100644
index 0000000..fb6eb0f
--- /dev/null
+++ b/tests/goback.chk
@@ -0,0 +1,2535 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> break vase
+
+You have taken the vase and hurled it delicately to the ground.
+
+> break vase
+
+It is beyond your power to do that.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> w
+
+You're in Swiss Cheese Room.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> take clam
+
+OK
+
+> s
+
+You can't fit this five-foot clam through that little passage!
+
+You're in Shell Room.
+
+> drop clam
+
+OK
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> take oyster
+
+OK
+
+> s
+
+You can't fit this five-foot oyster through that little passage!
+
+You're in Shell Room.
+
+> drop oyster
+
+OK
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+I see no pillow here.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> take coins
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+You can't carry anything more. You'll have to drop something first.
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> drop food
+
+OK
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> attack
+
+With what? Your bare hands? Against *HIS* bear hands??
+
+> unlock chain
+
+There is no way to get past the bear to unlock the chain, which is
+probably just as well.
+
+> feed bear
+
+There's nothing here it wants to eat (except perhaps you).
+
+> out
+
+You're in front of Barren Room.
+
+There is food here.
+
+> take food
+
+OK
+
+> in
+
+You're in Barren Room.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> carry bear
+
+The bear is still chained to the wall.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> attack bear
+
+The bear is confused; he only wants to be your friend.
+
+> feed bear
+
+There is nothing here to eat.
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+You can't carry anything more. You'll have to drop something first.
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> take bear
+
+OK
+
+> sw
+
+Just as you reach the other side, the bridge buckles beneath the
+weight of the bear, which was still following you around. You
+scrabble desperately for support, but as the bridge collapses you
+stumble back and fall into the chasm.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> yes
+
+All right. But don't blame me if something goes wr......
+ --- POOF!! ---
+You are engulfed in a cloud of orange smoke. Coughing and gasping,
+you emerge from the smoke and find....
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+> inven
+
+You're not carrying anything.
+
+> out
+
+You're in front of building.
+
+There is a shiny brass lamp nearby.
+
+> take lamp
+
+OK
+
+> light lamp
+
+Your lamp is now on.
+
+> in
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+> plugh
+
+>>Foof!<<
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> bedquilt
+
+You're in Bedquilt.
+
+> n
+
+You're in large low room.
+
+> sw
+
+You're in sloping corridor.
+
+> up
+
+You're on sw side of chasm.
+
+There is a little axe here.
+
+There are many coins here!
+
+Off to one side lies a glistening pearl!
+
+There is a golden chain lying in a heap on the floor!
+
+The wreckage of a bridge (and a dead bear) can be seen at the bottom
+of the chasm.
+
+The troll is nowhere to be seen.
+
+> over
+
+There is no longer any way across the chasm.
+
+You're on sw side of chasm.
+
+There is a little axe here.
+
+There are many coins here!
+
+Off to one side lies a glistening pearl!
+
+There is a golden chain lying in a heap on the floor!
+
+The wreckage of a bridge (and a dead bear) can be seen at the bottom
+of the chasm.
+
+The troll is nowhere to be seen.
+
+> feed bear
+
+Don't be ridiculous!
+
+> attack bear
+
+For crying out loud, the poor thing is already dead!
+
+> take coins
+
+OK
+
+> take axe
+
+OK
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+The floor is littered with worthless shards of pottery.
+
+> se
+
+You're in Swiss Cheese Room.
+
+> ne
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> e
+
+You're at complex junction.
+
+> up
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> up
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> take rod
+
+OK
+
+> wave rod
+
+The crystal bridge has vanished!
+
+> across
+
+There is no way across the fissure.
+
+You're on east bank of fissure.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> across
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> w
+
+You're at east end of long hall.
+
+> w
+
+You're at west end of long hall.
+
+> s
+
+You are in a maze of twisty little passages, all different.
+
+> s
+
+You are in a maze of twisting little passages, all different.
+
+> sw
+
+You are in a twisting little maze of passages, all different.
+
+> se
+
+You are in a twisting maze of little passages, all different.
+
+> s
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> drop coins
+
+There are fresh batteries here.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+Dead end
+
+There are fresh batteries here.
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+Your lamp is getting dim. You'd best go back for those batteries.
+
+OK
+
+> z
+
+OK
+
+> s
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+Dead end
+
+There are fresh batteries here.
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> take batteries
+
+Your lamp is getting dim. I'm taking the liberty of replacing the
+batteries.
+
+OK
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> back
+
+Sorry, but the path twisted and turned so much that I can't figure
+out which way to go to get back.
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> drink
+
+Drink what?
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> n
+
+You have crawled through a very low wide passage parallel to and north
+of the Hall of Mists.
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> w
+
+You're at east end of long hall.
+
+> n
+
+You are at a crossover of a high n/s passage and a low e/w one.
+
+> e
+
+You're in the west side chamber.
+
+> d
+
+There is no way to go that direction.
+
+You're in the west side chamber.
+
+> e
+
+You're in Hall of Mt King.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> e
+
+You are on the brink of a small clean climbable pit. A crawl leads
+west.
+
+> d
+
+You are in the bottom of a small pit with a little stream, which
+enters and exits through tiny slits.
+
+> listen
+
+The stream is gurgling placidly.
+
+> u
+
+You're at brink of small pit.
+
+> w
+
+You're in dirty passage.
+
+> bedquilt
+
+You're in Bedquilt.
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're in Bedquilt.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're in Bedquilt.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're in Bedquilt.
+
+> n
+
+You are in a secret canyon at a junction of three canyons, bearing
+north, south, and se. The north one is as tall as the other two
+combined.
+
+> w
+
+There is no way to go that direction.
+
+You're at junction of three secret canyons.
+
+> n
+
+You're at a low window overlooking a huge pit, which extends up out of
+sight. A floor is indistinctly visible over 50 feet below. Traces of
+white mist cover the floor of the pit, becoming thicker to the left.
+Marks in the dust around the window would seem to indicate that
+someone has been here recently. Directly across the pit from you and
+25 feet away there is a similar window looking into a lighted room. A
+shadowy figure can be seen there peering back at you.
+
+The shadowy figure seems to be trying to attract your attention.
+
+> w
+
+You're at junction of three secret canyons.
+
+> s
+
+You are in a secret n/s canyon above a sizable passage.
+
+> s
+
+A large stalactite extends from the roof and almost reaches the floor
+below. You could climb down it, and jump from it to the floor, but
+having done so you would be unable to reach it to climb back up.
+
+> n
+
+You are in a secret n/s canyon above a sizable passage.
+
+> s
+
+There are faint rustling noises from the darkness behind you.
+
+You're at top of stalactite.
+
+> n
+
+You are in a secret n/s canyon above a sizable passage.
+
+> n
+
+You're at junction of three secret canyons.
+
+> n
+
+You're at window on pit.
+
+The shadowy figure seems to be trying to attract your attention.
+
+> jump
+
+You are at the bottom of the pit with a broken neck.
+
+You clumsy oaf, you've done it again! I don't know how long I can
+keep this up. Do you want me to try reincarnating you again?
+
+> y
+
+Okay, now where did I put my orange smoke?.... >POOF!<
+Everything disappears in a dense cloud of orange smoke.
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+There is a shiny brass lamp nearby.
+
+> take lamp
+
+OK
+
+> in
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+> downstream
+
+The stream flows out through a pair of 1 foot diameter sewer pipes.
+It would be advisable to use the exit.
+
+You are inside a building, a well house for a large spring.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on lamp
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> w
+
+You're at a low window overlooking a huge pit, which extends up out of
+sight. A floor is indistinctly visible over 50 feet below. Traces of
+white mist cover the floor of the pit, becoming thicker to the right.
+Marks in the dust around the window would seem to indicate that
+someone has been here recently. Directly across the pit from you and
+25 feet away there is a similar window looking into a lighted room. A
+shadowy figure can be seen there peering back at you.
+
+The shadowy figure seems to be trying to attract your attention.
+
+> e
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> e
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> listen
+
+The wind whistles coldly past your ears.
+
+> score
+
+You have garnered 207 out of a possible 430 points, using 410 turns.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Dwarf's axe
+
+> waste 2443
+
+Game limit is now 30
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> z
+
+Your lamp is getting dim, and you're out of spare batteries. You'd
+best start wrapping this up.
+
+OK
+
+>
+You scored 207 out of a possible 430, using 413 turns.
+
+You may now consider yourself a "Seasoned Adventurer".
+
+To achieve the next higher rating, you need 44 more points.
diff --git a/tests/goback.log b/tests/goback.log
new file mode 100644
index 0000000..83199f5
--- /dev/null
+++ b/tests/goback.log
@@ -0,0 +1,451 @@
+## Test many nonlethal failure conditions
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# This variant elicits the prompt to go back for batteries
+# See comments in this log
+#NOCOMPARE Relies on "waste"
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+# Test vase breakage
+break vase
+break vase
+se
+throw axe
+take axe
+e
+w
+ne
+e
+n
+# Here we are at the Shell Room. Fail to carry out bivalves
+take clam
+s
+drop clam
+open clam
+take oyster
+s
+drop oyster
+s
+# OK, bivalve-carry test is done
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+take coins
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+# Bear-verb test. Try feeding without food before feeding with
+barren
+drop food
+in
+attack
+unlock chain
+feed bear
+out
+take food
+in
+feed bear
+carry bear
+unlock chain
+take chain
+attack bear
+feed bear
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+take bear
+sw
+yes
+inven
+out
+take lamp
+light lamp
+in
+plugh
+s
+d
+bedquilt
+n
+sw
+up
+over
+feed bear
+attack bear
+# We'll need these when the game times out
+take coins
+take axe
+# Back to fissure to vanish the bridge and then test OVER
+sw
+d
+se
+se
+ne
+e
+up
+e
+up
+s
+up
+w
+take rod
+wave rod
+across
+# Next, buy batteries but don't take them.
+wave rod
+across
+w
+w
+w
+s
+s
+sw
+se
+s
+s
+drop coins
+look
+n
+z
+z
+z
+z
+# Battery warning happens here.
+s
+take batteries
+# We now have 2500 more turns of life. Into the maze...
+n
+# Show that trying to back up in the maze fails
+back
+n
+nw
+d
+# Out of maze. Drink where nothing is eligible.
+drink
+e
+e
+# PARALLEL1 coverage
+n
+# If we go to hall of mists we'll meet a killer dwarf with the drop on us
+#e
+#e
+w
+w
+n
+e
+d
+e
+u
+throw axe
+d
+n
+d
+# Coverage of LOC_SMALLPIT and LOC_SMALLPITBRINK
+e
+d
+listen
+u
+w
+# Coverage of LOC_THREEJUNCTION, LOC_WINDOW2, LOC_SECRET2, LOC_TOPSTALACTITE,
+# LOC_NECKBROKE. Only accessible via stalactite from big maze or by random
+# exit from Bedquilt.
+bedquilt
+z
+z
+z
+n
+n
+n
+n
+# In secret canyon
+w
+n
+w
+s
+# LOC_TOPSTALACTITE
+s
+n
+s
+n
+n
+n
+jump
+y
+# Reincarnation, cover LOC_SEWER
+out
+take lamp
+in
+downstream
+plugh
+on lamp
+# Cover WINDOW1
+w
+e
+# Retrieve axe
+s
+s
+e
+take axe
+listen
+# At Hall of Mists
+score
+inven
+# Timewarp forward to test exhaustion of replacement batteries
+waste 2443
+z
+# MISSING_BATTERIES is uttered
diff --git a/tests/hint_dark.chk b/tests/hint_dark.chk
new file mode 100644
index 0000000..1a95bf8
--- /dev/null
+++ b/tests/hint_dark.chk
@@ -0,0 +1,158 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1495951709
+
+Seed set to 1495951709
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plove
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+Are you trying to explore beyond the plover room?
+
+> y
+
+I am prepared to give you a hint, but it will cost you 5 points.
+
+Do you want the hint?
+
+> y
+
+There is a way to explore that region without having to worry about
+falling into a pit. None of the objects available is immediately
+useful in discovering the secret.
+
+>
+You scored 54 out of a possible 430, using 27 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 67 more points.
diff --git a/tests/hint_dark.log b/tests/hint_dark.log
new file mode 100644
index 0000000..78a3c79
--- /dev/null
+++ b/tests/hint_dark.log
@@ -0,0 +1,34 @@
+## Elicit hint for dealing with plugh room and darkness (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1495951709
+in
+plugh
+plove
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+y
+y
diff --git a/tests/hint_grate.chk b/tests/hint_grate.chk
new file mode 100644
index 0000000..fa7d80d
--- /dev/null
+++ b/tests/hint_grate.chk
@@ -0,0 +1,91 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1495774850
+
+Seed set to 1495774850
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> stream
+
+Upstream or downstream?
+
+You're in valley.
+
+> s
+
+At your feet all the water of the stream splashes into a 2-inch slit
+in the rock. Downstream the streambed is bare rock.
+
+> s
+
+You are in a 20-foot depression floored with bare dirt. Set into the
+dirt is a strong steel grate mounted in concrete. A dry streambed
+leads into the depression.
+
+The grate is locked.
+
+> open grate
+
+You have no keys!
+
+> open grate
+
+You have no keys!
+
+> open grate
+
+You have no keys!
+
+Are you trying to get into the cave?
+
+> y
+
+I am prepared to give you a hint, but it will cost you 2 points.
+
+Do you want the hint?
+
+> y
+
+The grate is very solid and has a hardened steel lock. You cannot
+enter without a key, and there are no keys nearby. I would recommend
+looking elsewhere for the keys.
+
+>
+You scored 30 out of a possible 430, using 10 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 16 more points.
diff --git a/tests/hint_grate.log b/tests/hint_grate.log
new file mode 100644
index 0000000..634caf3
--- /dev/null
+++ b/tests/hint_grate.log
@@ -0,0 +1,17 @@
+## Elicit hint for dealing with grate
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1495774850
+in
+take lamp
+out
+s
+stream
+s
+s
+open grate
+open grate
+open grate
+y
+y
diff --git a/tests/hint_jade.chk b/tests/hint_jade.chk
new file mode 100644
index 0000000..e8d9f81
--- /dev/null
+++ b/tests/hint_jade.chk
@@ -0,0 +1,1857 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> n
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extin
+
+Your lamp is now off.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill drago
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop rug
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appen
+
+OK
+
+> drop cage
+
+OK
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plove
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plove
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machi
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedqu
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reser
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appen
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottl
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take tride
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop tride
+
+OK
+
+> drop axe
+
+OK
+
+> drop lante
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emera
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take tride
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> take key
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottl
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss egg
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> barre
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unloc
+
+The chain is now unlocked.
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> d
+
+You are being followed by a very large, tame bear.
+
+You are walking along a gently sloping north/south passage lined with
+oddly shaped limestone formations.
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> d
+
+You are being followed by a very large, tame bear.
+
+You're in limestone passage.
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+> take
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emera
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> fly
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+> plugh
+
+>>Foof!<<
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is a rare amber gemstone here!
+
+There is a jewel-encrusted trident here!
+
+The pirate's treasure chest is here!
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> w
+
+You're at top of small pit.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+You're missing only one other treasure. Do you need help finding it?
+
+> y
+
+I am prepared to give you a hint, but it will cost you 4 points.
+
+Do you want the hint?
+
+> y
+
+Once you've found all the other treasures, it is no longer possible to
+locate the one you're now missing.
+
+>
+You scored 91 out of a possible 430, using 297 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 30 more points.
diff --git a/tests/hint_jade.log b/tests/hint_jade.log
new file mode 100644
index 0000000..d220260
--- /dev/null
+++ b/tests/hint_jade.log
@@ -0,0 +1,306 @@
+## Elicit hint for getting the jade (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+d
+d
+free bird
+w
+e
+s
+n
+u
+s
+n
+d
+n
+n
+plugh
+extin
+plugh
+on
+s
+s
+sw
+take axe
+w
+kill drago
+y
+take rug
+e
+e
+u
+d
+n
+n
+off
+plugh
+drop rug
+out
+s
+w
+n
+take appen
+drop cage
+s
+s
+n
+in
+take water
+plugh
+on
+plove
+ne
+s
+plove
+s
+s
+u
+w
+wave rod
+drop rod
+west
+w
+w
+w
+s
+sw
+se
+s
+kill machi
+s
+s
+kill ogre
+n
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedqu
+throw axe
+take
+slab
+s
+d
+water plant
+u
+w
+u
+reser
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appen
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottl
+n
+take tride
+w
+d
+se
+n
+w
+drop tride
+drop axe
+drop lante
+e
+take emera
+w
+take lamp
+take axe
+take tride
+nw
+s
+se
+throw axe
+e
+w
+ne
+e
+n
+open
+s
+u
+e
+u
+n
+off
+plugh
+take key
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get
+n
+take bottl
+n
+w
+d
+sw
+u
+toss egg
+ne
+barre
+in
+feed bear
+unloc
+take bear
+fork
+# next 4 lines are for coverage of LOC_LIMESTONE
+d
+fork
+d
+fork
+ne
+e
+fork
+w
+w
+sw
+free bear
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+u
+w
+w
+u
+s
+e
+e
+n
+n
+plugh
+take
+out
+w
+n
+n
+n
+fill urn
+light
+rub urn
+take amber
+drop rug
+drop emera
+fly
+fly
+e
+s
+e
+e
+in
+plugh
+s
+s
+u
+w
+w
+w
+s
+e
+s
+s
+s
+n
+e
+e
+nw
+se
+n
+d
+w
+d
+y
+y
diff --git a/tests/hint_snake.chk b/tests/hint_snake.chk
new file mode 100644
index 0000000..d5a1c44
--- /dev/null
+++ b/tests/hint_snake.chk
@@ -0,0 +1,200 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1951269982
+
+Seed set to 1951269982
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> get lamp
+
+OK
+
+> get keys
+
+OK
+
+> out
+
+You're in front of building.
+
+> down
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> s
+
+At your feet all the water of the stream splashes into a 2-inch slit
+in the rock. Downstream the streambed is bare rock.
+
+> s
+
+You are in a 20-foot depression floored with bare dirt. Set into the
+dirt is a strong steel grate mounted in concrete. A dry streambed
+leads into the depression.
+
+The grate is locked.
+
+> open
+
+The grate is now unlocked.
+
+> in
+
+You are in a small chamber beneath a 3x3 steel grate to the surface.
+A low crawl over cobbles leads inward to the west.
+
+The grate is open.
+
+> west
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> get cage
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> down
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> down
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> w
+
+You can't get by the snake.
+
+You're in Hall of Mt King.
+
+A huge green fierce snake bars the way!
+
+> attack
+
+Attacking the snake both doesn't work and is very dangerous.
+
+> w
+
+You can't get by the snake.
+
+You're in Hall of Mt King.
+
+A huge green fierce snake bars the way!
+
+> eat snake
+
+I think I just lost my appetite.
+
+> w
+
+You can't get by the snake.
+
+You're in Hall of Mt King.
+
+A huge green fierce snake bars the way!
+
+> throw snake
+
+You aren't carrying it!
+
+> w
+
+You can't get by the snake.
+
+You're in Hall of Mt King.
+
+A huge green fierce snake bars the way!
+
+Are you trying to somehow deal with the snake?
+
+> carry snake
+
+Please answer the question.
+
+Are you trying to somehow deal with the snake?
+
+> y
+
+I am prepared to give you a hint, but it will cost you 2 points.
+
+Do you want the hint?
+
+> y
+
+You can't kill the snake, or drive it away, or avoid it, or anything
+like that. There is a way to get by, but you don't have the necessary
+resources right now.
+
+>
+You scored 55 out of a possible 430, using 25 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 66 more points.
diff --git a/tests/hint_snake.log b/tests/hint_snake.log
new file mode 100644
index 0000000..710c5e3
--- /dev/null
+++ b/tests/hint_snake.log
@@ -0,0 +1,33 @@
+## Elicit hint for dealing with snake
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1951269982
+in
+get lamp
+get keys
+out
+down
+s
+s
+open
+in
+west
+get cage
+w
+on
+w
+w
+w
+down
+down
+w
+attack
+w
+eat snake
+w
+throw snake
+w
+carry snake
+y
+y
diff --git a/tests/hint_urn.chk b/tests/hint_urn.chk
new file mode 100644
index 0000000..63b7542
--- /dev/null
+++ b/tests/hint_urn.chk
@@ -0,0 +1,82 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1495951709
+
+Seed set to 1495951709
+
+You're in front of building.
+
+> u
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+> z
+
+OK
+
+Are you wondering what to do here?
+
+> y
+
+I am prepared to give you a hint, but it will cost you 2 points.
+
+Do you want the hint?
+
+> y
+
+This section is quite advanced. Find the cave first.
+
+
+>
+You scored 30 out of a possible 430, using 11 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 16 more points.
diff --git a/tests/hint_urn.log b/tests/hint_urn.log
new file mode 100644
index 0000000..b1f3d3a
--- /dev/null
+++ b/tests/hint_urn.log
@@ -0,0 +1,19 @@
+## Elicit hint for dealing with urn (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE Policy decision - no point in emulating advent430's extra \n here
+n
+seed 1495951709
+u
+n
+n
+n
+z
+z
+z
+z
+z
+z
+z
+y
+y
diff --git a/tests/hint_witt.chk b/tests/hint_witt.chk
new file mode 100644
index 0000000..315f402
--- /dev/null
+++ b/tests/hint_witt.chk
@@ -0,0 +1,2438 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1635997320
+
+Seed set to 1635997320
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take jade
+
+OK
+
+> e
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jade
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You're in bird chamber.
+
+> w
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jewelry
+
+OK
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "F'UNJ". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There are 2 threatening little dwarves in the room with you.
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're at east end of long hall.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> drop bottle
+
+OK
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+There is a bottle of water here.
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop gold
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> drop ruby
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+There is a bottle of water here.
+
+Rough stone steps lead up the dome.
+
+> take water
+
+OK
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> bedquilt
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> F'UNJ
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> drop appendage
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Dwarf's axe
+Jeweled trident
+Ebony statuette
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> drop axe
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+There are faint rustling noises from the darkness behind you.
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a delicate, precious, ming vase here!
+
+There is a jewel-encrusted trident here!
+
+The pirate's treasure chest is here!
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Velvet pillow
+
+> take ebony
+
+OK
+
+> take vase
+
+OK
+
+> take trident
+
+OK
+
+> take chest
+
+OK
+
+> take emerald
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is an enormous ruby here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is a large sparkling nugget of gold here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop chest
+
+OK
+
+> drop ebony
+
+OK
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> take chain
+
+The chain is still locked.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> drop keys
+
+OK
+
+> take spices
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+There is a little axe here.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a richly-carved ebony statuette here!
+
+The pirate's treasure chest is here!
+
+There is an enormous ruby here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is a large sparkling nugget of gold here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+You are already carrying it!
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a richly-carved ebony statuette here!
+
+The pirate's treasure chest is here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is a large sparkling nugget of gold here!
+
+There are bars of silver here!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+> drop emerald
+
+OK
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a richly-carved ebony statuette here!
+
+The pirate's treasure chest is here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is a large sparkling nugget of gold here!
+
+There are bars of silver here!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+Do you need help getting out of here?
+
+> y
+
+I am prepared to give you a hint, but it will cost you 3 points.
+
+Do you want the hint?
+
+> y
+
+Don't go west.
+
+
+>
+You scored 339 out of a possible 430, using 397 turns.
+
+Your score puts you in Master Adventurer Class C.
+
+To achieve the next higher rating, you need 37 more points.
diff --git a/tests/hint_witt.log b/tests/hint_witt.log
new file mode 100644
index 0000000..f97a906
--- /dev/null
+++ b/tests/hint_witt.log
@@ -0,0 +1,406 @@
+## Hint for Witt's End
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE Policy decision - no point in emulating advent430's extra \n here
+n
+seed 1635997320
+in
+take lamp
+xyzzy
+take rod
+e
+take cage
+w
+on
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+drop rod
+take bird
+take jade
+e
+e
+e
+off
+xyzzy
+drop jade
+xyzzy
+on
+w
+w
+w
+take rod
+d
+w
+wave rod
+drop rod
+e
+n
+free bird
+take bird
+s
+take jewelry
+n
+sw
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+n
+take silver
+n
+off
+plugh
+drop jewelry
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+d
+take axe
+u
+s
+up
+w
+w
+w
+w
+throw axe
+take axe
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+take diamonds
+e
+e
+drop bottle
+s
+take gold
+n
+n
+n
+n
+off
+plugh
+drop gold
+drop diamonds
+drop pyramid
+drop ruby
+plugh
+on
+s
+s
+u
+take water
+throw axe
+take axe
+n
+n
+d
+bedquilt
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+F'UNJ
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+drop appendage
+n
+take trident
+w
+d
+se
+n
+w
+inven
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+e
+take pillow
+w
+ne
+e
+n
+open clam
+s
+u
+e
+u
+s
+drop axe
+e
+w
+w
+w
+s
+e
+s
+s
+s
+n
+e
+e
+nw
+inven
+take ebony
+take vase
+take trident
+take chest
+take emerald
+se
+n
+d
+e
+e
+off
+xyzzy
+drop chest
+drop ebony
+drop pillow
+drop vase
+drop trident
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+take chain
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+drop keys
+take spices
+fork
+w
+w
+sw
+free bear
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop emerald
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+y
+y
diff --git a/tests/illformed.chk b/tests/illformed.chk
new file mode 100644
index 0000000..925fc31
--- /dev/null
+++ b/tests/illformed.chk
@@ -0,0 +1,153 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> foo
+
+Please answer the question.
+
+Welcome to Adventure!! Would you like instructions?
+
+>
+
+Please answer the question.
+
+Welcome to Adventure!! Would you like instructions?
+
+> y
+
+Somewhere nearby is Colossal Cave, where others have found fortunes in
+treasure and gold, though it is rumored that some who enter are never
+seen again. Magic is said to work in the cave. I will be your eyes
+and hands. Direct me with commands of 1 or 2 words. I should warn
+you that I look at only the first five letters of each word, so you'll
+have to enter "northeast" as "ne" to distinguish it from "north".
+You can type "help" for some general hints. For information on how
+to end your adventure, scoring, etc., type "info".
+ - - -
+This program was originally developed by Willie Crowther. Most of the
+features of the current program were added by Don Woods.
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1635997320
+
+Seed set to 1635997320
+
+You're in front of building.
+
+> back
+
+You can't get there from here.
+
+You're in front of building.
+
+> take grate
+
+I see no grate here.
+
+> no rub
+
+OK
+
+> say axe
+
+Okay, "axe".
+
+> say rub
+
+Okay, "rub".
+
+> say grate
+
+Okay, "grate".
+
+> _
+
+Sorry, I don't know the word "_".
+
+> back
+
+Sorry, but I no longer seem to remember how it was you got here.
+
+You're in front of building.
+
+> waste
+
+This command requires a numeric argument.
+
+You're in front of building.
+
+> seed
+
+This command requires a numeric argument.
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> eat grate
+
+I see no grate here.
+
+> 23
+
+Sorry, I don't know the word "23".
+
+> eat building
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> in
+
+I don't know in from out here. Use compass points or name something
+in the general direction you want to go.
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> say F'UNJ
+
+Nothing happens.
+
+> in
+
+I don't know in from out here. Use compass points or name something
+in the general direction you want to go.
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> keys
+
+What do you want to do with the keys?
+
+>
+You scored 27 out of a possible 430, using 17 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 19 more points.
diff --git a/tests/illformed.log b/tests/illformed.log
new file mode 100644
index 0000000..1e31a41
--- /dev/null
+++ b/tests/illformed.log
@@ -0,0 +1,31 @@
+## Test for various cases not found in walkthroughs.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE This is busted under advent430 -- see comments within.
+foo
+
+y
+seed 1635997320
+back
+# Caused crashes and hangs before
+take grate
+no rub
+# Next three lines were buggy
+say axe
+say rub
+say grate
+_
+back
+# advent430 doesn't have this command
+waste
+# seed should cause a compint when argumentless,
+seed
+eat grate
+23
+eat building
+in
+# Z'ZZZ Word correct, but does nothing
+say F'UNJ
+# Meant to evoke "I don't know in from out here."
+in
+keys
diff --git a/tests/illformed2.chk b/tests/illformed2.chk
new file mode 100644
index 0000000..ab2095b
--- /dev/null
+++ b/tests/illformed2.chk
@@ -0,0 +1,553 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1635997320
+
+Seed set to 1635997320
+
+You're in front of building.
+
+> back
+
+You can't get there from here.
+
+You're in front of building.
+
+> say axe
+
+Okay, "axe".
+
+> say rub
+
+Okay, "rub".
+
+> say grate
+
+Okay, "grate".
+
+> _
+
+Sorry, I don't know the word "_".
+
+> back
+
+Sorry, but I no longer seem to remember how it was you got here.
+
+You're in front of building.
+
+> 23
+
+Sorry, I don't know the word "23".
+
+> say F'UNJ
+
+Nothing happens.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> keys
+
+What do you want to do with the keys?
+
+> throw food
+
+You aren't carrying it!
+
+> nothing food
+
+OK
+
+> calm food
+
+I'm game. Would you care to explain how?
+
+> walk food
+
+Where?
+
+> score food
+
+Huh?
+
+> foo food
+
+I don't know how.
+
+> brief food
+
+On what?
+
+> blast food
+
+Blasting requires dynamite.
+
+> find grate
+
+I can only tell you what you see as you move about and manipulate
+things. I cannot tell you where remote things are.
+
+> light food
+
+I'm afraid I don't understand.
+
+> lock food
+
+I don't know how to lock or unlock such a thing.
+
+> unlock food
+
+I don't know how to lock or unlock such a thing.
+
+> extinguish food
+
+I'm afraid I don't understand.
+
+> suspend food
+
+Huh?
+
+> resume food
+
+Huh?
+
+> crawl
+
+Which way?
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> stream
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> lock
+
+There is nothing here with a lock!
+
+> take water
+
+You have nothing in which to carry it.
+
+> blast
+
+Blasting requires dynamite.
+
+> building
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> cave
+
+I don't know where the cave is, but hereabouts no stream can run on
+the surface for long. I would try the stream.
+
+You're in front of building.
+
+> enter stream
+
+Your feet are now wet.
+
+> try three words
+
+Please stick to 1- and 2-word commands.
+
+> listen
+
+The stream is gurgling placidly.
+
+> carry
+
+Carry what?
+
+> forward
+
+I am unsure how you are facing. Use compass points or nearby objects.
+
+You're in front of building.
+
+> eat
+
+Eat what?
+
+> drink
+
+You have taken a drink from the stream. The water tastes strongly of
+minerals, but is not unpleasant. It is extremely cold.
+
+> throw keys
+
+I see no keys here.
+
+> find keys
+
+I can only tell you what you see as you move about and manipulate
+things. I cannot tell you where remote things are.
+
+> inven keys
+
+I can only tell you what you see as you move about and manipulate
+things. I cannot tell you where remote things are.
+
+> nothing
+
+OK
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> listen
+
+The stream is gurgling placidly.
+
+> find keys
+
+I believe what you want is right here with you.
+
+> unlock keys
+
+You can't unlock the keys.
+
+> find bar
+
+Sorry, I don't know the word "bar".
+
+> carry
+
+Carry what?
+
+> blast
+
+Blasting requires dynamite.
+
+> take bottle
+
+OK
+
+> find bottle
+
+You are already carrying it!
+
+> drink water
+
+The bottle of water is now empty.
+
+> fill bottle
+
+Your bottle is now full of water.
+
+> throw axe
+
+I see no axe here.
+
+> throw knife
+
+I see no knife here.
+
+> lock
+
+There is nothing here with a lock!
+
+> unlock
+
+There is nothing here with a lock!
+
+> throw
+
+Throw what?
+
+> attack
+
+There is nothing here to attack.
+
+> unlock chain
+
+I see no chain here.
+
+> fill urn
+
+I see no urn here.
+
+> eat keys
+
+Don't be ridiculous!
+
+> discard keys
+
+You aren't carrying it!
+
+> drink keys
+
+Don't be ridiculous!
+
+> off keys
+
+I'm afraid I don't understand.
+
+> break keys
+
+It is beyond your power to do that.
+
+> wake keys
+
+Don't be ridiculous!
+
+> take keys
+
+OK
+
+> feed keys
+
+I'm game. Would you care to explain how?
+
+> fly keys
+
+I'm game. Would you care to explain how?
+
+> pour keys
+
+You can't pour that.
+
+> throw keys
+
+OK
+
+> foo up
+
+There is no way to go that direction.
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+> get
+
+Get what?
+
+> food
+
+OK
+
+> eat food
+
+Thank you, it was delicious!
+
+> drink blood
+
+I see no blood here.
+
+> drink keys
+
+Don't be ridiculous!
+
+> light keys
+
+I'm afraid I don't understand.
+
+> brief
+
+Okay, from now on I'll only describe a place in full the first time
+you come to it. To get the full description, say "look".
+
+> frob grate
+
+Sorry, I don't know the word "frob".
+
+> read grate
+
+I see no grate here.
+
+> pour bottle
+
+Your bottle is empty and the ground is wet.
+
+> fill bottle
+
+Your bottle is now full of water.
+
+> building
+
+I don't know how to apply that word here.
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+> on
+
+Your lamp is now on.
+
+> pour bottle
+
+Your bottle is empty and the ground is wet.
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> take rod
+
+OK
+
+> wave rod
+
+Nothing happens.
+
+> listen
+
+All is silent.
+
+> quit
+
+Do you really want to quit now?
+
+> n
+
+OK
+
+> read
+
+Read what?
+
+> look
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> go back
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a lamp shining nearby.
+
+> fuck
+
+Watch it!
+
+> walk
+
+Where?
+
+> fly
+
+Though you flap your arms furiously, it is to no avail.
+
+> say boo
+
+Okay, "boo".
+
+> score
+
+You have garnered 32 out of a possible 430 points, using 101 turns.
+
+> z
+
+OK
+
+> score
+
+You have garnered 32 out of a possible 430 points, using 103 turns.
+
+> quit keys
+
+Huh?
+
+> out
+
+You're in front of building.
+
+> s
+
+You're in valley.
+
+> s
+
+At your feet all the water of the stream splashes into a 2-inch slit
+in the rock. Downstream the streambed is bare rock.
+
+> down
+
+You don't fit through a two-inch slit!
+
+You're at slit in streambed.
+
+> s
+
+You are in a 20-foot depression floored with bare dirt. Set into the
+dirt is a strong steel grate mounted in concrete. A dry streambed
+leads into the depression.
+
+The grate is locked.
+
+> in
+
+You can't go through a locked steel grate!
+
+You're outside grate.
+
+The grate is locked.
+
+> seed -123
+
+Seed set to -123
+
+You're outside grate.
+
+The grate is locked.
+
+>
+You scored 32 out of a possible 430, using 110 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 14 more points.
diff --git a/tests/illformed2.log b/tests/illformed2.log
new file mode 100644
index 0000000..b1e722a
--- /dev/null
+++ b/tests/illformed2.log
@@ -0,0 +1,138 @@
+## Test for various cases not found in walkthroughs (advent430-compatible).
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Commented-out lines cause troble in advent430
+n
+seed 1635997320
+back
+# Next three lines were buggy
+say axe
+say rub
+say grate
+_
+back
+#eat grate
+23
+#eat building
+#in
+# Z'ZZZ Word correct, but does nothing
+say F'UNJ
+# Say bigwords when giant isn't around
+#say fee
+#say fie
+#say foe
+#say fum
+# Meant to evoke "I don't know in from out here."
+in
+keys
+throw food
+nothing food
+calm food
+walk food
+score food
+foo food
+brief food
+blast food
+find grate
+light food
+lock food
+unlock food
+extinguish food
+suspend food
+resume food
+crawl
+out
+stream
+lock
+take water
+blast
+building
+cave
+enter stream
+try three words
+listen
+carry
+forward
+eat
+drink
+throw keys
+find keys
+inven keys
+nothing
+in
+listen
+find keys
+unlock keys
+find bar
+carry
+blast
+take bottle
+find bottle
+drink water
+fill bottle
+throw axe
+throw knife
+lock
+unlock
+throw
+attack
+unlock chain
+fill urn
+eat keys
+discard keys
+drink keys
+off keys
+break keys
+wake keys
+take keys
+feed keys
+fly keys
+pour keys
+throw keys
+foo up
+get
+food
+eat food
+drink blood
+drink keys
+light keys
+brief
+frob grate
+read grate
+#grate
+pour bottle
+fill bottle
+building
+on
+pour bottle
+xyzzy
+take rod
+wave rod
+listen
+quit
+n
+read
+look
+#l
+#x
+#i
+#news
+go back
+fuck
+walk
+fly
+say boo
+score
+z
+score
+quit keys
+out
+s
+s
+down
+s
+in
+seed -123
+#no
+#quit
+#yes
diff --git a/tests/intransitivecarry.chk b/tests/intransitivecarry.chk
new file mode 100644
index 0000000..4fe9674
--- /dev/null
+++ b/tests/intransitivecarry.chk
@@ -0,0 +1,43 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> carry lamp
+
+OK
+
+> out
+
+You're in front of building.
+
+> drop lamp
+
+OK
+
+> carry
+
+OK
+
+>
+You scored 32 out of a possible 430, using 5 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 14 more points.
diff --git a/tests/intransitivecarry.log b/tests/intransitivecarry.log
new file mode 100644
index 0000000..f6a7bfa
--- /dev/null
+++ b/tests/intransitivecarry.log
@@ -0,0 +1,9 @@
+## Carry when only one object is present
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+in
+carry lamp
+out
+drop lamp
+carry
diff --git a/tests/issue36.chk b/tests/issue36.chk
new file mode 100644
index 0000000..99d82df
--- /dev/null
+++ b/tests/issue36.chk
@@ -0,0 +1,41 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 826186526
+
+Seed set to 826186526
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> get
+
+Get what?
+
+> food
+
+OK
+
+>
+You scored 32 out of a possible 430, using 3 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 14 more points.
diff --git a/tests/issue36.log b/tests/issue36.log
new file mode 100644
index 0000000..279b7f3
--- /dev/null
+++ b/tests/issue36.log
@@ -0,0 +1,8 @@
+## Test handling of object after transitive verb.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 826186526
+in
+get
+food
diff --git a/tests/issue37.chk b/tests/issue37.chk
new file mode 100644
index 0000000..4aa9320
--- /dev/null
+++ b/tests/issue37.chk
@@ -0,0 +1,40 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> food
+
+What do you want to do with the food?
+
+> get
+
+OK
+
+> inventory
+
+You are currently holding the following:
+Tasty food
+
+>
+You scored 32 out of a possible 430, using 4 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 14 more points.
diff --git a/tests/issue37.log b/tests/issue37.log
new file mode 100644
index 0000000..b796aa6
--- /dev/null
+++ b/tests/issue37.log
@@ -0,0 +1,8 @@
+## Test handling of transitive verb after noun
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+in
+food
+get
+inventory
diff --git a/tests/knife.chk b/tests/knife.chk
new file mode 100644
index 0000000..76a3b6b
--- /dev/null
+++ b/tests/knife.chk
@@ -0,0 +1,386 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> no
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1640849217
+
+Seed set to 1640849217
+
+You're in front of building.
+
+> e
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> get lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> get rod
+
+OK
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> w
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You're on east bank of fissure.
+
+There is a little axe here.
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> get knife
+
+The dwarves' knives vanish as they strike the walls of the cave.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> get knife
+
+I see no knife here.
+
+> quit
+
+Do you really want to quit now?
+
+> yes
+
+OK
+
+You scored 59 out of a possible 430, using 50 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 62 more points.
diff --git a/tests/knife.log b/tests/knife.log
new file mode 100644
index 0000000..1c811ea
--- /dev/null
+++ b/tests/knife.log
@@ -0,0 +1,57 @@
+## Test whether KNIVES_VANISH can be issued twice
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE avoide spuriuous failure on second "get knife"
+no
+seed 1640849217
+e
+get lamp
+xyzzy
+get rod
+on
+w
+w
+w
+d
+w
+wave rod
+w
+e
+w
+e
+w
+e
+w
+e
+w
+e
+w
+e
+w
+e
+w
+e
+w
+e
+w
+e
+w
+e
+w
+e
+w
+e
+w
+e
+w
+e
+w
+e
+w
+e
+w
+get knife
+look
+get knife
+quit
+yes
diff --git a/tests/lampdim.chk b/tests/lampdim.chk
new file mode 100644
index 0000000..cfbb010
--- /dev/null
+++ b/tests/lampdim.chk
@@ -0,0 +1,2516 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take cavity
+
+I suppose you collect doughnut holes, too?
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> get rug
+
+The rug hovers stubbornly where it is.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> take coins
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> wave rod
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You aren't carrying it!
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> w
+
+You're at east end of long hall.
+
+> w
+
+You're at west end of long hall.
+
+> s
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a message scrawled in the dust in a flowery script, reading:
+"This is not the maze where the pirate leaves his treasure chest."
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> drop coins
+
+There are fresh batteries here.
+
+> take batteries
+
+Your lamp is getting dim. I'm taking the liberty of replacing the
+batteries.
+
+OK
+
+> inventory
+
+You are currently holding the following:
+Brass lantern
+Dwarf's axe
+Batteries
+
+> drop batteries
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+Dead end
+
+Some worn-out batteries have been discarded nearby.
+
+There is a message scrawled in the dust in a flowery script, reading:
+"This is not the maze where the pirate leaves his treasure chest."
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+>
+You scored 343 out of a possible 430, using 406 turns.
+
+Your score puts you in Master Adventurer Class C.
+
+To achieve the next higher rating, you need 33 more points.
diff --git a/tests/lampdim.log b/tests/lampdim.log
new file mode 100644
index 0000000..5042356
--- /dev/null
+++ b/tests/lampdim.log
@@ -0,0 +1,415 @@
+## Test the case where your lamp goes dim
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take cavity
+take amber
+drop rug
+drop emerald
+get rug
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+s
+u
+w
+w
+w
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+xyzzy
+drop emerald
+drop chest
+take coins
+plugh
+on
+s
+s
+u
+# Go to vending machine and get batteries.
+w
+wave rod
+w
+w
+w
+w
+s
+sw
+se
+s
+drop coins
+take batteries
+# Lamp dim message should follow
+inventory
+drop batteries
+look
diff --git a/tests/lampdim2.chk b/tests/lampdim2.chk
new file mode 100644
index 0000000..740e719
--- /dev/null
+++ b/tests/lampdim2.chk
@@ -0,0 +1,2603 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> take coins
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> wave rod
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You aren't carrying it!
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> w
+
+You're at east end of long hall.
+
+> w
+
+You're at west end of long hall.
+
+> s
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a message scrawled in the dust in a flowery script, reading:
+"This is not the maze where the pirate leaves his treasure chest."
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> carry message
+
+You sift your fingers through the dust, but succeed only in
+obliterating the cryptic message.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Your lamp has run out of power.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> lamp on
+
+Your lamp has run out of power.
+
+>
+You scored 368 out of a possible 430, using 423 turns.
+
+Your score puts you in Master Adventurer Class C.
+
+To achieve the next higher rating, you need 8 more points.
diff --git a/tests/lampdim2.log b/tests/lampdim2.log
new file mode 100644
index 0000000..0f33787
--- /dev/null
+++ b/tests/lampdim2.log
@@ -0,0 +1,431 @@
+## Try (and fail) to carry message at vending machine
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+s
+u
+w
+w
+w
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+xyzzy
+drop emerald
+drop chest
+take coins
+plugh
+on
+s
+s
+u
+# Go to vending machine and get batteries.
+w
+wave rod
+w
+w
+w
+w
+s
+sw
+se
+s
+carry message
+n
+s
+n
+s
+n
+s
+n
+s
+n
+s
+n
+s
+n
+s
+n
+s
+n
+s
+n
+s
+n
+s
+lamp on
diff --git a/tests/lampdim3.chk b/tests/lampdim3.chk
new file mode 100644
index 0000000..6f4a462
--- /dev/null
+++ b/tests/lampdim3.chk
@@ -0,0 +1,2590 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> take coins
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> wave rod
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You aren't carrying it!
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> w
+
+You're at east end of long hall.
+
+> w
+
+You're at west end of long hall.
+
+> s
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a message scrawled in the dust in a flowery script, reading:
+"This is not the maze where the pirate leaves his treasure chest."
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> drop axe
+
+OK
+
+> take axe
+
+OK
+
+> drop axe
+
+OK
+
+> take axe
+
+OK
+
+> drop axe
+
+OK
+
+> take axe
+
+OK
+
+> drop axe
+
+OK
+
+> take axe
+
+OK
+
+> drop axe
+
+OK
+
+> take axe
+
+OK
+
+> drop axe
+
+OK
+
+> take axe
+
+OK
+
+> drop axe
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+OK
+
+> take axe
+
+OK
+
+> drop axe
+
+OK
+
+> take axe
+
+OK
+
+> drop axe
+
+OK
+
+> take axe
+
+OK
+
+> drop axe
+
+OK
+
+> take axe
+
+OK
+
+> drop axe
+
+OK
+
+> take axe
+
+OK
+
+> drop axe
+
+Your lamp has run out of power.
+
+OK
+
+> n
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> s
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> n
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> up
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> down
+
+You fell into a pit and broke every bone in your body!
+
+It looks as though you're dead. Well, seeing as how it's so close to
+closing time anyway, I think we'll just call it a day.
+
+You scored 362 out of a possible 430, using 427 turns.
+
+Your score puts you in Master Adventurer Class C.
+
+To achieve the next higher rating, you need 14 more points.
diff --git a/tests/lampdim3.log b/tests/lampdim3.log
new file mode 100644
index 0000000..e7b1b44
--- /dev/null
+++ b/tests/lampdim3.log
@@ -0,0 +1,437 @@
+## Die while closing
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+s
+u
+w
+w
+w
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+xyzzy
+drop emerald
+drop chest
+take coins
+plugh
+on
+s
+s
+u
+# Go to vending machine and get batteries.
+w
+wave rod
+w
+w
+w
+w
+s
+sw
+se
+s
+drop axe
+take axe
+drop axe
+take axe
+drop axe
+take axe
+drop axe
+take axe
+drop axe
+take axe
+drop axe
+take axe
+drop axe
+#game closing
+take axe
+drop axe
+take axe
+drop axe
+take axe
+drop axe
+take axe
+drop axe
+take axe
+drop axe
+#lamp is dark
+n
+s
+n
+up
+down
diff --git a/tests/listen.chk b/tests/listen.chk
new file mode 100644
index 0000000..c9b2be4
--- /dev/null
+++ b/tests/listen.chk
@@ -0,0 +1,172 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> no
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1181530211
+
+Seed set to 1181530211
+
+You're in front of building.
+
+> e
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> get lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> get cage
+
+OK
+
+> pit
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> e
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> get bird
+
+OK
+
+> debri
+
+You're in debris room.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> listen
+
+The stream is gurgling placidly.
+
+The bird does not seem inclined to sing while in the cage.
+
+> xyzzy
+
+>>Foof!<<
+
+You're in debris room.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> pit
+
+You're at top of small pit.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> listen
+
+The bird does not seem inclined to sing while in the cage.
+
+The snake is hissing venomously.
+
+> secret
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> listen
+
+The bird does not seem inclined to sing while in the cage.
+
+The dragon's ominous hissing does not bode well for you.
+
+> quit
+
+Do you really want to quit now?
+
+> yes
+
+OK
+
+You scored 59 out of a possible 430, using 21 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 62 more points.
diff --git a/tests/listen.log b/tests/listen.log
new file mode 100644
index 0000000..b29570c
--- /dev/null
+++ b/tests/listen.log
@@ -0,0 +1,27 @@
+## Check that listen command hears all objects as well as location sound
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+no
+seed 1181530211
+e
+get lamp
+xyzzy
+on
+e
+get cage
+pit
+e
+get bird
+debri
+xyzzy
+listen
+xyzzy
+pit
+d
+d
+listen
+secret
+w
+listen
+quit
+yes
diff --git a/tests/listenloud.chk b/tests/listenloud.chk
new file mode 100644
index 0000000..57b5718
--- /dev/null
+++ b/tests/listenloud.chk
@@ -0,0 +1,864 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1495951709
+
+Seed set to 1495951709
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> on
+
+Your lamp is now on.
+
+> xyzzy
+
+>>Foof!<<
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take jade
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop silver
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop jade
+
+OK
+
+> drop rug
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "Q'IBJ". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are bars of silver here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+There is a little axe here.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take axe
+
+OK
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> dark
+
+You're in dark-room.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> u
+
+There is no way to go that direction.
+
+You're in n/s passage above e/w passage.
+
+> throw axe
+
+There is nothing here to attack.
+
+> take axe
+
+You are already carrying it!
+
+> throw axe
+
+There is nothing here to attack.
+
+> take axe
+
+You are already carrying it!
+
+> throw axe
+
+There is nothing here to attack.
+
+> take axe
+
+You are already carrying it!
+
+> throw axe
+
+There is nothing here to attack.
+
+> take axe
+
+You are already carrying it!
+
+> s
+
+You're in Hall of Mt King.
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> drop cage
+
+OK
+
+> w
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> e
+
+You're on east bank of fissure.
+
+There is a small wicker cage discarded nearby.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+You can't carry anything more. You'll have to drop something first.
+
+> n
+
+A little dwarf with a big knife blocks your way.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in nugget-of-gold room.
+
+There is a large sparkling nugget of gold here!
+
+> y2
+
+I don't know how to apply that word here.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It gets you!
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> d
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> plugh
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> drop diamonds
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> drop pyramid
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> drop ruby
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> plugh
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> plugh
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> drop coins
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> plugh
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> s
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> d
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> bedquilt
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> slab
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> s
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> d
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> water plant
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> u
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> w
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> u
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> reservoir
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> Q'IBJ
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> n
+
+OK
+
+You scored 117 out of a possible 430, using 114 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 4 more points.
diff --git a/tests/listenloud.log b/tests/listenloud.log
new file mode 100644
index 0000000..6d5ce61
--- /dev/null
+++ b/tests/listenloud.log
@@ -0,0 +1,144 @@
+## Attempt to listen at a loud location
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
+n
+seed 1495951709
+in
+take lamp
+on
+xyzzy
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take jade
+drop rod
+take bird
+take rod
+d
+w
+wave rod
+drop rod
+e
+n
+free bird
+take bird
+s
+take jewelry
+n
+sw
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+n
+take silver
+n
+plugh
+drop silver
+drop jewelry
+drop jade
+drop rug
+out
+s
+w
+n
+take appendage
+free bird
+listen
+s
+s
+n
+in
+take water
+plugh
+plover
+ne
+take axe
+take pyramid
+s
+dark
+s
+plover
+s
+d
+u
+u
+throw axe
+take axe
+throw axe
+take axe
+throw axe
+take axe
+throw axe
+take axe
+s
+e
+w
+drop cage
+w
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+take diamonds
+e
+e
+s
+take gold
+n
+y2
+d
+plugh
+drop diamonds
+drop pyramid
+drop ruby
+plugh
+plugh
+drop coins
+plugh
+s
+d
+bedquilt
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+Q'IBJ
+n
+listen
diff --git a/tests/lockchain.chk b/tests/lockchain.chk
new file mode 100644
index 0000000..5645019
--- /dev/null
+++ b/tests/lockchain.chk
@@ -0,0 +1,1899 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1635997320
+
+Seed set to 1635997320
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> lock cage
+
+It has no lock.
+
+> take cage
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take jade
+
+OK
+
+> e
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jade
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You're in bird chamber.
+
+> w
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> feed dragon
+
+There's nothing here it wants to eat (except perhaps you).
+
+> attack
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jewelry
+
+OK
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "F'UNJ". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There are 2 threatening little dwarves in the room with you.
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're at east end of long hall.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> attack
+
+Attack what?
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> drop bottle
+
+OK
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+There is a bottle of water here.
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop gold
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> drop ruby
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+There is a bottle of water here.
+
+Rough stone steps lead up the dome.
+
+> take water
+
+OK
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> bedquilt
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> F'UNJ
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> listen
+
+The waters are crashing loudly against the shore.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> drop appendage
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Dwarf's axe
+Jeweled trident
+Ebony statuette
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> lock
+
+Huh?
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+There are faint rustling noises from the darkness behind you.
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a delicate, precious, ming vase here!
+
+There is a jewel-encrusted trident here!
+
+The pirate's treasure chest is here!
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Velvet pillow
+Dwarf's axe
+
+> take vase
+
+OK
+
+> take trident
+
+OK
+
+> take chest
+
+OK
+
+> take emerald
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is an enormous ruby here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is a large sparkling nugget of gold here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop chest
+
+OK
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+You can't carry anything more. You'll have to drop something first.
+
+> pour bottle
+
+Bottle what?
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> attack
+
+Trolls are close relatives with the rocks and have skin as tough as
+that of a rhinoceros. The troll fends off your blows effortlessly.
+
+> feed troll
+
+Gluttony is not one of the troll's vices. Avarice, however, is.
+
+> ne
+
+The troll refuses to let you cross.
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> unlock chain
+
+I see no chain here.
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> attack bear
+
+With what? Your bare hands? Against *HIS* bear hands??
+
+> throw axe
+
+The axe misses and lands near the bear where you can't get at it.
+
+> throw food
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> attack bear
+
+The bear is confused; he only wants to be your friend.
+
+> take chain
+
+The chain is still locked.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> unlock chain
+
+It was already unlocked.
+
+> lock chain
+
+The chain is now locked.
+
+> lock chain
+
+It was already locked.
+
+> attack bear
+
+The bear is confused; he only wants to be your friend.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take bear
+
+OK
+
+> inven
+
+You are currently holding the following:
+Set of keys
+Brass lantern
+Egg-sized emerald
+Glistening pearl
+
+You are being followed by a very large, tame bear.
+
+> take chain
+
+OK
+
+> out
+
+You are being followed by a very large, tame bear.
+
+You're in front of Barren Room.
+
+> lock chain
+
+There is nothing here to which the chain can be locked.
+
+> drop bear
+
+OK
+
+> attack bear
+
+The bear is confused; he only wants to be your friend.
+
+> back
+
+You're in Barren Room.
+
+There is a little axe here.
+
+> lock chain
+
+The chain is now locked.
+
+> out
+
+You're in front of Barren Room.
+
+There is a contented-looking bear wandering about nearby.
+
+> drop keys
+
+OK
+
+> in
+
+You're in Barren Room.
+
+There is a golden chain locked to the wall!
+
+There is a little axe here.
+
+> unlock chain
+
+You have no keys!
+
+> out
+
+You're in front of Barren Room.
+
+There are some keys on the ground here.
+
+There is a contented-looking bear wandering about nearby.
+
+> fork
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> listen
+
+The air is filled with a dull rumbling sound.
+
+> go left
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> north
+
+You are on the edge of a breath-taking view. Far below you is an
+active volcano, from which great gouts of molten lava come surging
+out, cascading back down into the depths. The glowing rock fills the
+farthest reaches of the cavern with a blood-red glare, giving every-
+thing an eerie, macabre appearance. The air is filled with flickering
+sparks of ash and a heavy smell of brimstone. The walls are hot to
+the touch, and the thundering of the volcano drowns out all other
+sounds. Embedded in the jagged roof far overhead are myriad twisted
+formations composed of pure white alabaster, which scatter the murky
+light into sinister apparitions upon the walls. To one side is a deep
+gorge, filled with a bizarre chaos of tortured rock which seems to
+have been crafted by the devil himself. An immense river of fire
+crashes out from the depths of the volcano, burns its way through the
+gorge, and plummets into a bottomless pit far off to your left. To
+the right, an immense geyser of blistering steam erupts continuously
+from a barren island in the center of a sulfurous lake, which bubbles
+ominously. The far right wall is aflame with an incandescence of its
+own, which lends an additional infernal splendor to the already
+hellish scene. A dark, foreboding passage exits to the south.
+
+> listen
+
+The roaring is so loud that it drowns out all other sound.
+
+> extinguish volcano
+
+It is beyond your power to do that.
+
+> s
+
+You're at junction with warm walls.
+
+> listen
+
+The roar is quite loud here.
+
+> n
+
+You're at breath-taking view.
+
+> jump
+
+There is now one more gruesome aspect to the spectacular vista.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> n
+
+OK
+
+You scored 219 out of a possible 430, using 328 turns.
+
+You may now consider yourself a "Seasoned Adventurer".
+
+To achieve the next higher rating, you need 32 more points.
diff --git a/tests/lockchain.log b/tests/lockchain.log
new file mode 100644
index 0000000..78ae677
--- /dev/null
+++ b/tests/lockchain.log
@@ -0,0 +1,339 @@
+## Test multiple re-locking and unlocking of bear's chain
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
+n
+seed 1635997320
+in
+take lamp
+xyzzy
+take rod
+e
+lock cage
+take cage
+w
+on
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+drop rod
+take bird
+take jade
+e
+e
+e
+off
+xyzzy
+drop jade
+xyzzy
+on
+w
+w
+w
+take rod
+d
+w
+wave rod
+drop rod
+e
+n
+free bird
+take bird
+s
+take jewelry
+n
+sw
+w
+feed dragon
+attack
+yes
+drink blood
+take rug
+e
+e
+n
+take silver
+n
+off
+plugh
+drop jewelry
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+d
+take axe
+u
+s
+up
+w
+w
+w
+w
+throw axe
+take axe
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+attack
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+take diamonds
+e
+e
+drop bottle
+s
+take gold
+n
+n
+n
+n
+off
+plugh
+drop gold
+drop diamonds
+drop pyramid
+drop ruby
+plugh
+on
+s
+s
+u
+take water
+throw axe
+take axe
+n
+n
+d
+bedquilt
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+F'UNJ
+n
+n
+listen
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+drop appendage
+n
+take trident
+w
+d
+se
+n
+w
+inven
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+e
+take pillow
+w
+ne
+e
+n
+lock
+open clam
+s
+u
+e
+u
+s
+e
+w
+w
+w
+s
+e
+s
+s
+s
+n
+e
+e
+nw
+inven
+take vase
+take trident
+take chest
+take emerald
+se
+n
+d
+e
+e
+off
+xyzzy
+drop chest
+drop pillow
+drop vase
+drop trident
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+# Test for "Ground wet" message
+take bottle
+pour bottle
+n
+w
+d
+sw
+u
+attack
+feed troll
+ne
+toss eggs
+ne
+ne
+barren
+unlock chain
+in
+attack bear
+throw axe
+throw food
+attack bear
+take chain
+unlock chain
+unlock chain
+# Also tests message from bear in inventory
+lock chain
+lock chain
+attack bear
+unlock chain
+take bear
+inven
+take chain
+out
+lock chain
+drop bear
+attack bear
+back
+lock chain
+out
+drop keys
+in
+unlock chain
+# Now let's go look at the volcano
+out
+fork
+listen
+go left
+north
+listen
+extinguish volcano
+s
+listen
+n
+jump
+n
diff --git a/tests/logopt.chk b/tests/logopt.chk
new file mode 100644
index 0000000..e48c318
--- /dev/null
+++ b/tests/logopt.chk
@@ -0,0 +1,29 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+>
+
+>
+You scored 32 out of a possible 430, using 1 turn.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 14 more points.
diff --git a/tests/logopt.log b/tests/logopt.log
new file mode 100644
index 0000000..3ba2fb5
--- /dev/null
+++ b/tests/logopt.log
@@ -0,0 +1,7 @@
+## Exercise logging option and seed dump
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#options: -l scratch.tmp
+n
+in
+
diff --git a/tests/magicwords.chk b/tests/magicwords.chk
new file mode 100644
index 0000000..4db287a
--- /dev/null
+++ b/tests/magicwords.chk
@@ -0,0 +1,1886 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> foo
+
+Nothing happens.
+
+> say foo
+
+Nothing happens.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> say fee
+
+OK
+
+> say fie
+
+OK
+
+> say foe
+
+OK
+
+> say foo
+
+Nothing happens.
+
+> z
+
+OK
+
+> say fee
+
+OK
+
+> say fie
+
+OK
+
+> say foe
+
+OK
+
+> say fum
+
+Well, that was remarkably pointless!
+
+> z
+
+OK
+
+> find foo
+
+Nothing happens.
+
+> z
+
+OK
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> fum
+
+What's the matter, can't you read? Now you'd best start over.
+
+>
+You scored 253 out of a possible 430, using 317 turns.
+
+You have reached "Junior Master" status.
+
+To achieve the next higher rating, you need 68 more points.
diff --git a/tests/magicwords.log b/tests/magicwords.log
new file mode 100644
index 0000000..02ed3aa
--- /dev/null
+++ b/tests/magicwords.log
@@ -0,0 +1,359 @@
+## Test processing of various fee fie foe foo fum cases.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#
+# How they're supposed to work:
+#
+# 1. The word "fum", from the famous phrase, "fee fie foe fum" is treated
+# as a red herring for the player and is handled differently in the
+# logic of the game
+#
+# 2. Each word of the magic phrase and the word "fum" can be preceded by
+# the word "say", so "say fee", "say fie", etc. will work, as
+# well. For "say fum", 'Okay, "FUM"' should NOT be the response,
+# similar to what is seen when other non-magic words are uttered with
+# "say"
+#
+# 3. The sequence is triggered by the first word "fee" only. If any of
+# the other words of the phrase or "fum" are said before "fee",
+# "nothing happens"
+#
+# 4. The phrase "fee fie foe foo" must be entered as four separate
+# commands, in order, without interruption. A move, like "east" or a
+# non-move, like "look", are both considered interruptions
+#
+# 5. Once the sequence has begun, if any of the words of the phrase,
+# including a second "fee", are said out of order, or "fum" is spoken at
+# all during the sequence, the player is admonished for not being able
+# to read. The assumption here is the player at some point in the time
+# had previously read the phrase, but then messes up the order and/or
+# thinks "fum" was a part of the phrase when they attempt to speak
+# it. The player then must say "fee" again to restart the sequence. And
+# to clarify, a second "fee" in the sequence triggers the admonishment,
+# it does not restart the sequence
+#
+n
+seed 1838473132
+# Test isolated 'foo' word
+foo
+say foo
+in
+# Say bigwords ending with foo when not in Giant's Room
+say fee
+say fie
+say foe
+say foo
+z
+# Say bigwords ending with fum when not in Giant's Room
+say fee
+say fie
+say foe
+say fum
+z
+find foo
+z
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+# Now that we're at the Giant's Room, actual testing can start
+fee
+fie
+foe
+fum
diff --git a/tests/mazealldiff.chk b/tests/mazealldiff.chk
new file mode 100644
index 0000000..00168a4
--- /dev/null
+++ b/tests/mazealldiff.chk
@@ -0,0 +1,2517 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> take coins
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> wave rod
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You aren't carrying it!
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> w
+
+You're at east end of long hall.
+
+> w
+
+You're at west end of long hall.
+
+> s
+
+You are in a maze of twisty little passages, all different.
+
+> s
+
+You are in a maze of twisting little passages, all different.
+
+> n
+
+You are in a maze of little twisting passages, all different.
+
+> s
+
+You are in a twisty maze of little passages, all different.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a message scrawled in the dust in a flowery script, reading:
+"This is not the maze where the pirate leaves his treasure chest."
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a message scrawled in the dust in a flowery script, reading:
+"This is not the maze where the pirate leaves his treasure chest."
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> e
+
+You are in a twisting maze of little passages, all different.
+
+> n
+
+You are in a little twisty maze of passages, all different.
+
+> nw
+
+You are in a twisty little maze of passages, all different.
+
+> nw
+
+You are in a maze of little twisty passages, all different.
+
+> n
+
+You are in a twisting little maze of passages, all different.
+
+>
+You scored 343 out of a possible 430, using 409 turns.
+
+Your score puts you in Master Adventurer Class C.
+
+To achieve the next higher rating, you need 33 more points.
diff --git a/tests/mazealldiff.log b/tests/mazealldiff.log
new file mode 100644
index 0000000..72f142b
--- /dev/null
+++ b/tests/mazealldiff.log
@@ -0,0 +1,422 @@
+## Coverage of all LOC_DIFFERENT*
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+s
+u
+w
+w
+w
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+xyzzy
+drop emerald
+drop chest
+take coins
+plugh
+on
+s
+s
+u
+# Go to vending machine and get batteries.
+w
+wave rod
+w
+w
+w
+w
+s
+s
+n
+s
+n
+s
+n
+s
+n
+# go to LOC_DIFFERENT5
+e
+# go to LOC_DIFFERENT9
+n
+# go to LOC_DIFFERENT7
+nw
+# go to LOC_DIFFERENT11
+nw
+# go to LOC_DIFFERENT6
+n
diff --git a/tests/mazehint.chk b/tests/mazehint.chk
new file mode 100644
index 0000000..5c72b61
--- /dev/null
+++ b/tests/mazehint.chk
@@ -0,0 +1,626 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1071883378
+
+Seed set to 1071883378
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> say xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take jade
+
+OK
+
+> e
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jade
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You're in bird chamber.
+
+> w
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> ew
+
+Sorry, I don't know the word "ew".
+
+> w
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+Dead end
+
+> n
+
+There is no way to go that direction.
+
+Dead end
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+Dead end
+
+> w
+
+There is no way to go that direction.
+
+Dead end
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+Dead end
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+There is no way to go that direction.
+
+You are in a maze of twisty little passages, all alike.
+
+> sw
+
+There is no way to go that direction.
+
+You are in a maze of twisty little passages, all alike.
+
+> up
+
+There is no way to go that direction.
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+Dead end
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You attack a little dwarf, but he dodges out of the way.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You attack a little dwarf, but he dodges out of the way.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> throw axe
+
+You attack a little dwarf, but he dodges out of the way.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+Dead end
+
+> w
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> sw
+
+There is no way to go that direction.
+
+You are in a maze of twisty little passages, all alike.
+
+Do you need help getting out of the maze?
+
+> y
+
+I am prepared to give you a hint, but it will cost you 4 points.
+
+Do you want the hint?
+
+> y
+
+You can make the passages look less alike by dropping things.
+
+>
+You scored 71 out of a possible 430, using 113 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 50 more points.
diff --git a/tests/mazehint.log b/tests/mazehint.log
new file mode 100644
index 0000000..8cf1ddb
--- /dev/null
+++ b/tests/mazehint.log
@@ -0,0 +1,120 @@
+## Elicit the maze hint.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1071883378
+in
+take lamp
+say xyzzy
+take rod
+e
+take cage
+w
+on
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+drop rod
+take bird
+take jade
+e
+e
+e
+off
+xyzzy
+drop jade
+xyzzy
+on
+w
+w
+w
+take rod
+d
+w
+wave rod
+drop rod
+ew
+w
+w
+s
+s
+s
+n
+look
+w
+e
+e
+w
+n
+n
+sw
+up
+take axe
+e
+e
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+throw axe
+take axe
+w
+w
+w
+w
+throw axe
+take axe
+throw axe
+take axe
+throw axe
+take axe
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+w
+n
+s
+e
+w
+n
+s
+e
+sw
+y
+y
diff --git a/tests/multifile.chk b/tests/multifile.chk
new file mode 100644
index 0000000..22bc511
--- /dev/null
+++ b/tests/multifile.chk
@@ -0,0 +1,55 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> ## Test handling of object after transitive verb.
+> # SPDX-FileCopyrightText: Copyright Eric S. Raymond
+> # SPDX-License-Identifier: BSD-2-Clause
+> n
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 826186526
+> seed 826186526
+
+Seed set to 826186526
+
+You're in front of building.
+
+> in
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> get
+> get
+
+Get what?
+
+> food
+> food
+
+OK
+
+> inven
+> inven
+
+You are currently holding the following:
+Tasty food
+
+
+You scored 32 out of a possible 430, using 4 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 14 more points.
diff --git a/tests/newfilter b/tests/newfilter
new file mode 100755
index 0000000..c5bad71
--- /dev/null
+++ b/tests/newfilter
@@ -0,0 +1,11 @@
+#!/bin/sh
+#
+# Filter the output from Open Adventure versions to make it compatible with
+# the filtered versions of logs made from advent430.
+sed \
+ -e '/bridge now spans the fissure/s//bridge spans the fissure/' \
+ -e '/ground/s//surface/' \
+ -e '/floor/s//surface/' \
+ -e "/Well, that was remarkably pointless!/s//What's the matter, can't you read? Now you'd best start over./" \
+
+# end
diff --git a/tests/notrident.chk b/tests/notrident.chk
new file mode 100644
index 0000000..88a8d6d
--- /dev/null
+++ b/tests/notrident.chk
@@ -0,0 +1,1324 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1635997320
+
+Seed set to 1635997320
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> lock cage
+
+It has no lock.
+
+> take cage
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take jade
+
+OK
+
+> e
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jade
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You're in bird chamber.
+
+> w
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> feed dragon
+
+There's nothing here it wants to eat (except perhaps you).
+
+> attack
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jewelry
+
+OK
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "F'UNJ". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There are 2 threatening little dwarves in the room with you.
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're at east end of long hall.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> attack
+
+Attack what?
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> drop bottle
+
+OK
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+There is a bottle of water here.
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop gold
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> drop ruby
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+There is a bottle of water here.
+
+Rough stone steps lead up the dome.
+
+> take water
+
+OK
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> bedquilt
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> F'UNJ
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> drop appendage
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Dwarf's axe
+Jeweled trident
+Ebony statuette
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+You don't have anything strong enough to open the clam.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're in dirty passage.
+
+> e
+
+You are on the brink of a small clean climbable pit. A crawl leads
+west.
+
+> d
+
+You are in the bottom of a small pit with a little stream, which
+enters and exits through tiny slits.
+
+> u
+
+You're at brink of small pit.
+
+> d
+
+You're at bottom of pit with stream.
+
+> u
+
+You're at brink of small pit.
+
+>
+
+>
+You scored 179 out of a possible 430, using 224 turns.
+
+You may now consider yourself a "Seasoned Adventurer".
+
+To achieve the next higher rating, you need 72 more points.
diff --git a/tests/notrident.log b/tests/notrident.log
new file mode 100644
index 0000000..1faab2d
--- /dev/null
+++ b/tests/notrident.log
@@ -0,0 +1,232 @@
+## Try to open clam without trident and fail
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1635997320
+in
+take lamp
+xyzzy
+take rod
+e
+lock cage
+take cage
+w
+on
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+drop rod
+take bird
+take jade
+e
+e
+e
+off
+xyzzy
+drop jade
+xyzzy
+on
+w
+w
+w
+take rod
+d
+w
+wave rod
+drop rod
+e
+n
+free bird
+take bird
+s
+take jewelry
+n
+sw
+w
+feed dragon
+attack
+yes
+drink blood
+take rug
+e
+e
+n
+take silver
+n
+off
+plugh
+drop jewelry
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+d
+take axe
+u
+s
+up
+w
+w
+w
+w
+throw axe
+take axe
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+attack
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+take diamonds
+e
+e
+drop bottle
+s
+take gold
+n
+n
+n
+n
+off
+plugh
+drop gold
+drop diamonds
+drop pyramid
+drop ruby
+plugh
+on
+s
+s
+u
+take water
+throw axe
+take axe
+n
+n
+d
+bedquilt
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+F'UNJ
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+drop appendage
+n
+take trident
+w
+d
+se
+n
+w
+inven
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+nw
+s
+take vase
+se
+e
+take pillow
+w
+ne
+e
+n
+open clam
+# Now go back and get coverage on LOC_SMALLPIT
+s
+u
+e
+e
+d
+u
+d
+u
+
diff --git a/tests/ogre_no_dwarves.chk b/tests/ogre_no_dwarves.chk
new file mode 100644
index 0000000..37492fa
--- /dev/null
+++ b/tests/ogre_no_dwarves.chk
@@ -0,0 +1,160 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 25508795
+
+Seed set to 25508795
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> w
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> attack
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+>
+You scored 59 out of a possible 430, using 23 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 62 more points.
diff --git a/tests/ogre_no_dwarves.log b/tests/ogre_no_dwarves.log
new file mode 100644
index 0000000..4326320
--- /dev/null
+++ b/tests/ogre_no_dwarves.log
@@ -0,0 +1,28 @@
+## Try to attack ogre with no dwarves present (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 25508795
+in
+take lamp
+xyzzy
+on
+take rod
+w
+w
+w
+d
+w
+wave rod
+w
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+attack
diff --git a/tests/ogrehint.chk b/tests/ogrehint.chk
new file mode 100644
index 0000000..9391193
--- /dev/null
+++ b/tests/ogrehint.chk
@@ -0,0 +1,728 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 437547289
+
+Seed set to 437547289
+
+You're in front of building.
+
+> seed 1071883378
+
+Seed set to 1071883378
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take jade
+
+OK
+
+> e
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jade
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You're in bird chamber.
+
+> w
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jewelry
+
+OK
+
+> drop rug
+
+I see no rug here.
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "F'JBV". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+There is a little axe here.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> take axe
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mt King.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+There are 2 threatening little dwarves in the room with you.
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There are 2 threatening little dwarves in the room with you.
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There are 2 threatening little dwarves in the room with you.
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There are 2 threatening little dwarves in the room with you.
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There are 2 threatening little dwarves in the room with you.
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There are 2 threatening little dwarves in the room with you.
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There are 2 threatening little dwarves in the room with you.
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There are 2 threatening little dwarves in the room with you.
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There are 2 threatening little dwarves in the room with you.
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> n
+
+The ogre snarls and shoves you back.
+
+There are 2 threatening little dwarves in the room with you.
+
+2 of them throw knives at you!
+
+None of them hits you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> n
+
+The ogre snarls and shoves you back.
+
+There are 2 threatening little dwarves in the room with you.
+
+2 of them throw knives at you!
+
+None of them hits you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill dwarf
+
+With what? Your bare hands?
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a large chamber with passages to the west and north.
+
+There is a little axe here.
+
+A formidable ogre bars the northern exit.
+
+> take axe
+
+OK
+
+> throw axe
+
+You attack a little dwarf, but he dodges out of the way.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a large chamber with passages to the west and north.
+
+There is a little axe here.
+
+A formidable ogre bars the northern exit.
+
+> take axe
+
+OK
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a large chamber with passages to the west and north.
+
+There is a little axe here.
+
+A formidable ogre bars the northern exit.
+
+> feed ogre
+
+The ogre doesn't appear to be hungry.
+
+Do you need help dealing with the ogre?
+
+> y
+
+I am prepared to give you a hint, but it will cost you 4 points.
+
+Do you want the hint?
+
+> y
+
+There is nothing the presence of which will prevent you from defeating
+him; thus it can't hurt to fetch everything you possibly can.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> drop food
+
+OK
+
+> back
+
+You are in a large chamber with passages to the west and north.
+
+There is a little axe here.
+
+A formidable ogre bars the northern exit.
+
+> feed ogre
+
+There is nothing here to eat.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Leporine appendage
+Platinum pyramid
+
+>
+You scored 101 out of a possible 430, using 108 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 20 more points.
diff --git a/tests/ogrehint.log b/tests/ogrehint.log
new file mode 100644
index 0000000..38e423d
--- /dev/null
+++ b/tests/ogrehint.log
@@ -0,0 +1,117 @@
+## Elicit the ogre hint.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 437547289
+seed 1071883378
+in
+take lamp
+xyzzy
+take rod
+e
+take cage
+w
+on
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+drop rod
+take bird
+take jade
+e
+e
+e
+off
+xyzzy
+drop jade
+xyzzy
+on
+w
+w
+w
+take rod
+d
+w
+wave rod
+drop rod
+e
+n
+free bird
+take bird
+s
+take jewelry
+n
+sw
+w
+kill dragon
+yes
+drink blood
+e
+e
+n
+take silver
+n
+off
+plugh
+drop jewelry
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take food
+plugh
+on
+plover
+ne
+take pyramid
+take axe
+s
+plover
+s
+d
+u
+s
+up
+w
+w
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+n
+n
+kill dwarf
+throw axe
+take axe
+throw axe
+take axe
+throw axe
+feed ogre
+y
+y
+w
+drop food
+back
+feed ogre
+inven
diff --git a/tests/oilplant.chk b/tests/oilplant.chk
new file mode 100644
index 0000000..167a3b7
--- /dev/null
+++ b/tests/oilplant.chk
@@ -0,0 +1,1154 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> carry plant
+
+The plant has exceptionally deep roots and cannot be pulled free.
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> invent
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+
+> pour oil
+
+The plant indignantly shakes the oil off its leaves and asks, "Water?"
+
+> carry plant
+
+You can't be serious!
+
+>
+You scored 185 out of a possible 430, using 187 turns.
+
+You may now consider yourself a "Seasoned Adventurer".
+
+To achieve the next higher rating, you need 66 more points.
diff --git a/tests/oilplant.log b/tests/oilplant.log
new file mode 100644
index 0000000..1b3bf85
--- /dev/null
+++ b/tests/oilplant.log
@@ -0,0 +1,193 @@
+## Attempt to oil the beanstalk after watering it
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+carry plant
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+u
+w
+d
+invent
+pour oil
+carry plant
diff --git a/tests/oldfilter b/tests/oldfilter
new file mode 100755
index 0000000..c834e5f
--- /dev/null
+++ b/tests/oldfilter
@@ -0,0 +1,28 @@
+#!/bin/sh
+#
+# Filter the output from advent430 to make it compatible with
+# newer ones
+sed \
+ -e '/ *$/s///' \
+ -e '/bridge now spans the fissure/s//bridge spans the fissure/' \
+ -e '/imbedded/s//embedded/' \
+ -e '/persian/s//Persian/' \
+ -e '/swiss/s//Swiss/' \
+ -e '/eying/s//eyeing/' \
+ -e '/threshhold/s//threshold/' \
+ -e '/AXE/s//axe/' \
+ -e '/BAR/s//bar/' \
+ -e '/BOO/s//boo/' \
+ -e '/DOING/s//doing/' \
+ -e '/EW/s//ew/' \
+ -e '/FROB/s//frob/' \
+ -e '/GRATE/s//grate/' \
+ -e '/NAGGING/s//nagging/' \
+ -e '/RUB/s//rub/' \
+ -e '/SOMETHING/s//something/' \
+ -e '/ground/s//surface/' \
+ -e '/floor/s//surface/' \
+
+
+#end
+
diff --git a/tests/oldstyle.chk b/tests/oldstyle.chk
new file mode 100644
index 0000000..e616e68
--- /dev/null
+++ b/tests/oldstyle.chk
@@ -0,0 +1,44 @@
+Initialising...
+
+Welcome to Adventure!! Would you like instructions?
+
+n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+i
+
+Sorry, I don't know the word "I".
+
+l
+
+Sorry, I don't know the word "L".
+
+x
+
+Sorry, I don't know the word "X".
+
+z
+
+Sorry, I don't know the word "Z".
+
+go south
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+quit
+
+Do you really want to quit now?
+
+yes
+
+OK
+
+You scored 32 out of a possible 430, using 6 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 14 more points.
diff --git a/tests/oldstyle.log b/tests/oldstyle.log
new file mode 100644
index 0000000..05b7c8a
--- /dev/null
+++ b/tests/oldstyle.log
@@ -0,0 +1,13 @@
+## Simple quit
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#options: -o
+#NOCOMPARE Comment not interpreted by advent430
+n
+i
+l
+x
+z
+go south
+quit
+yes
diff --git a/tests/outcheck.sh b/tests/outcheck.sh
new file mode 100755
index 0000000..91901a5
--- /dev/null
+++ b/tests/outcheck.sh
@@ -0,0 +1,7 @@
+#! /bin/sh
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+case $? in
+ 0) echo "ok - $1 succeeded";;
+ *) echo "not ok - $1 failed";;
+esac
diff --git a/tests/oysterbug.chk b/tests/oysterbug.chk
new file mode 100644
index 0000000..871b185
--- /dev/null
+++ b/tests/oysterbug.chk
@@ -0,0 +1,2930 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> break mirror
+
+It is too far up for you to reach.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> unlock
+
+The door is extremely rusty and refuses to open.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock
+
+The chain is now unlocked.
+
+> unlock chain
+
+It was already unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You're in anteroom.
+
+> u
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+Your lamp has run out of power.
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> cave
+
+I need more detailed instructions to do that.
+
+You're in Plover Room.
+
+> e
+
+The sepulchral voice intones, "The cave is now closed." As the echoes
+fade, there is a blinding flash of light (and a small puff of orange
+smoke). . . . As your eyes refocus, you look around and find...
+
+You are at the northeast end of an immense room, even larger than the
+Giant Room. It appears to be a repository for the "Adventure"
+program. Massive torches far overhead bathe the room with smoky
+yellow light. Scattered about you can be seen a pile of bottles (all
+of them empty), a nursery of young beanstalks murmuring quietly, a bed
+of oysters, a bundle of black rods with rusty stars on their ends, and
+a collection of brass lanterns. Off to one side a great many dwarves
+are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+not disturb the dwarves!" An immense mirror is hanging against one
+wall, and stretches to the other end of the room, where various other
+sundry objects can be glimpsed dimly in the distance.
+
+> take oyster
+
+OK
+
+Interesting. There seems to be something written on the underside of
+the oyster.
+
+> unlock oyster
+
+I advise you to put down the oyster before opening it. >WRENCH!<
+
+>
+You scored 389 out of a possible 430, using 466 turns.
+
+Your score puts you in Master Adventurer Class B.
+
+To achieve the next higher rating, you need 22 more points.
diff --git a/tests/oysterbug.log b/tests/oysterbug.log
new file mode 100644
index 0000000..3b31c7e
--- /dev/null
+++ b/tests/oysterbug.log
@@ -0,0 +1,474 @@
+## Demonstrate fix of buggy response to unlocking oyster while carrying it.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE This fails due to a known bug in advent430
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+break mirror
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+unlock
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+s
+u
+w
+w
+w
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+xyzzy
+drop emerald
+drop chest
+plugh
+on
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+u
+u
+e
+u
+n
+plover
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+cave
+e
+take oyster
+unlock oyster
diff --git a/tests/panic.chk b/tests/panic.chk
new file mode 100644
index 0000000..e44e632
--- /dev/null
+++ b/tests/panic.chk
@@ -0,0 +1,2639 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+You can't carry anything more. You'll have to drop something first.
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> drop keys
+
+OK
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+I see no eggs here.
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+OK
+
+> drop rug
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are some keys on the ground here.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are some keys on the ground here.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You're in anteroom.
+
+> u
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+There are some keys on the ground here.
+
+> take keys
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> u
+
+You're at top of small pit.
+
+Rough stone steps lead down the pit.
+
+> e
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> e
+
+You're in cobble crawl.
+
+> e
+
+Your lamp has run out of power.
+
+You are in a small chamber beneath a 3x3 steel grate to the surface.
+A low crawl over cobbles leads inward to the west.
+
+The grate is locked.
+
+> unlock grate
+
+A mysterious recorded voice groans into life and announces:
+ "This exit is closed. Please leave via main office."
+
+>
+You scored 365 out of a possible 430, using 422 turns.
+
+Your score puts you in Master Adventurer Class C.
+
+To achieve the next higher rating, you need 11 more points.
diff --git a/tests/panic.log b/tests/panic.log
new file mode 100644
index 0000000..248fb72
--- /dev/null
+++ b/tests/panic.log
@@ -0,0 +1,430 @@
+## Panic test - attempt to unlock grate after game closed.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+fork
+w
+w
+sw
+free bear
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+drop keys
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+s
+u
+w
+w
+w
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+xyzzy
+drop emerald
+drop chest
+plugh
+on
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+u
+u
+# Cave closing announcement at this point
+e
+u
+take keys
+s
+u
+u
+e
+e
+e
+e
+e
+unlock grate
diff --git a/tests/panic2.chk b/tests/panic2.chk
new file mode 100644
index 0000000..db66581
--- /dev/null
+++ b/tests/panic2.chk
@@ -0,0 +1,2600 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+You can't carry anything more. You'll have to drop something first.
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> drop keys
+
+OK
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+I see no eggs here.
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+OK
+
+> drop rug
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are some keys on the ground here.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are some keys on the ground here.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You're in anteroom.
+
+> u
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+There are some keys on the ground here.
+
+> n
+
+You're at "Y2".
+
+> plugh
+
+A mysterious recorded voice groans into life and announces:
+ "This exit is closed. Please leave via main office."
+
+You're at "Y2".
+
+>
+You scored 365 out of a possible 430, using 414 turns.
+
+Your score puts you in Master Adventurer Class C.
+
+To achieve the next higher rating, you need 11 more points.
diff --git a/tests/panic2.log b/tests/panic2.log
new file mode 100644
index 0000000..ae05f60
--- /dev/null
+++ b/tests/panic2.log
@@ -0,0 +1,422 @@
+## Panic test - attempt to xyzzy out after game is closed.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+fork
+w
+w
+sw
+free bear
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+drop keys
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+s
+u
+w
+w
+w
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+xyzzy
+drop emerald
+drop chest
+plugh
+on
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+u
+u
+# Cave closing announcement at this point
+e
+u
+n
+plugh
diff --git a/tests/pirate_carry.chk b/tests/pirate_carry.chk
new file mode 100644
index 0000000..72b1681
--- /dev/null
+++ b/tests/pirate_carry.chk
@@ -0,0 +1,324 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1837473132
+
+Seed set to 1837473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> cage bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> n
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extin
+
+Your lamp is now off.
+
+> plugh
+
+>>Foof!<<
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+There is a little axe here.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silve
+
+OK
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill drago
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+There is a threatening little dwarf in the room with you!
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+There are 2 threatening little dwarves in the room with you.
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+There are 2 threatening little dwarves in the room with you.
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+There are 2 threatening little dwarves in the room with you.
+
+You are on the west side of the fissure in the Hall of Mists.
+
+A crystal bridge spans the fissure.
+
+>
+You scored 67 out of a possible 430, using 43 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 54 more points.
diff --git a/tests/pirate_carry.log b/tests/pirate_carry.log
new file mode 100644
index 0000000..2f7598e
--- /dev/null
+++ b/tests/pirate_carry.log
@@ -0,0 +1,49 @@
+## Check that pirate steals loose treasure from ground (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1837473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+cage bird
+take rod
+w
+d
+d
+free bird
+w
+e
+s
+n
+u
+s
+n
+d
+n
+n
+plugh
+extin
+plugh
+on
+s
+take silve
+s
+sw
+w
+kill drago
+y
+e
+e
+u
+w
+wave rod
+w
diff --git a/tests/pirate_pyramid.chk b/tests/pirate_pyramid.chk
new file mode 100644
index 0000000..873cdaa
--- /dev/null
+++ b/tests/pirate_pyramid.chk
@@ -0,0 +1,364 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1830473132
+
+Seed set to 1830473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> take bird
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> n
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extin
+
+Your lamp is now off.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You're in Hall of Mt King.
+
+There is a little axe here.
+
+A cheerful little bird is sitting here singing.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+There is a little axe here.
+
+A cheerful little bird is sitting here singing.
+
+> d
+
+There is no way to go that direction.
+
+You're in Hall of Mt King.
+
+There is a little axe here.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> plugh
+
+>>Foof!<<
+
+You're at "Y2".
+
+> plove
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+
+>
+You scored 69 out of a possible 430, using 50 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 52 more points.
diff --git a/tests/pirate_pyramid.log b/tests/pirate_pyramid.log
new file mode 100644
index 0000000..b5cbe49
--- /dev/null
+++ b/tests/pirate_pyramid.log
@@ -0,0 +1,56 @@
+## Pirate mustn't take pyramid from plover/dark rooms (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1830473132
+in
+take lamp
+xyzzy
+on
+e
+take cage
+w
+w
+w
+take bird
+w
+d
+d
+free bird
+w
+e
+s
+n
+u
+s
+n
+d
+n
+n
+plugh
+extin
+plugh
+on
+s
+s
+sw
+w
+kill
+y
+e
+e
+d
+n
+n
+plugh
+out
+s
+w
+n
+s
+s
+n
+in
+plugh
+plove
+inven
diff --git a/tests/pirate_spotted.chk b/tests/pirate_spotted.chk
new file mode 100644
index 0000000..e8fad72
--- /dev/null
+++ b/tests/pirate_spotted.chk
@@ -0,0 +1,1847 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> n
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extin
+
+Your lamp is now off.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill drago
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop rug
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appen
+
+OK
+
+> drop cage
+
+OK
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plove
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plove
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machi
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedqu
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reser
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appen
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottl
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take tride
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop tride
+
+OK
+
+> drop axe
+
+OK
+
+> drop lante
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emera
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take tride
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop tride
+
+OK
+
+> take key
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottl
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss egg
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> barre
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unloc
+
+The chain is now unlocked.
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a jewel-encrusted trident here!
+
+There is a Persian rug spread out on the floor!
+
+> take rug
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emera
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> fly
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a jewel-encrusted trident here!
+
+> drop amber
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a rare amber gemstone here!
+
+There is a jewel-encrusted trident here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> w
+
+There is no way to go that direction.
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> e
+
+There are faint rustling noises from the darkness behind you. As you
+turn toward them, the beam of your lamp falls across a bearded pirate.
+He is carrying a large chest. "Shiver me timbers!" he cries, "I've
+been spotted! I'd best hie meself off to the maze to hide me chest!"
+With that, he vanishes into the gloom.
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+>
+You scored 123 out of a possible 430, using 295 turns.
+
+You have achieved the rating: "Experienced Adventurer".
+
+To achieve the next higher rating, you need 48 more points.
diff --git a/tests/pirate_spotted.log b/tests/pirate_spotted.log
new file mode 100644
index 0000000..f998cdd
--- /dev/null
+++ b/tests/pirate_spotted.log
@@ -0,0 +1,301 @@
+## Spot pirate to manifest chest before last treasure (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+drop rod
+take bird
+take rod
+d
+d
+free bird
+w
+e
+s
+take n
+u
+s
+n
+d
+n
+n
+plugh
+extin
+plugh
+on
+s
+s
+sw
+take
+w
+kill drago
+y
+take rug
+e
+e
+u
+d
+n
+n
+off
+plugh
+drop rug
+out
+s
+w
+n
+take appen
+drop cage
+s
+s
+n
+in
+take water
+plugh
+on
+plove
+ne
+s
+plove
+s
+s
+u
+w
+wave rod
+drop rod
+west
+w
+w
+w
+s
+sw
+se
+s
+kill machi
+s
+s
+kill ogre
+n
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedqu
+throw axe
+take
+slab
+s
+d
+water plant
+u
+w
+u
+reser
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appen
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottl
+n
+take tride
+w
+d
+se
+n
+w
+drop tride
+drop axe
+drop lante
+e
+take emera
+w
+take lamp
+take axe
+take tride
+nw
+s
+se
+throw axe
+e
+w
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop tride
+take key
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get
+n
+take bottl
+n
+w
+d
+sw
+u
+toss egg
+ne
+barre
+in
+feed bear
+unloc
+take bear
+fork
+ne
+e
+fork
+w
+w
+sw
+free bear
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+u
+e
+w
+w
+d
+climb
+w
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+take rug
+out
+w
+n
+n
+n
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emera
+fly
+fly
+e
+s
+e
+e
+in
+drop amber
+look
+plugh
+on
+s
+w
+s
+e
diff --git a/tests/pitfall.chk b/tests/pitfall.chk
new file mode 100644
index 0000000..f812b6c
--- /dev/null
+++ b/tests/pitfall.chk
@@ -0,0 +1,112 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 780351908
+
+Seed set to 780351908
+
+You're in front of building.
+
+> enter building
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> s
+
+There is no way to go that direction.
+
+You fell into a pit and broke every bone in your body!
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> y
+
+All right. But don't blame me if something goes wr......
+ --- POOF!! ---
+You are engulfed in a cloud of orange smoke. Coughing and gasping,
+you emerge from the smoke and find....
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> n
+
+There is no way to go that direction.
+
+You fell into a pit and broke every bone in your body!
+
+You clumsy oaf, you've done it again! I don't know how long I can
+keep this up. Do you want me to try reincarnating you again?
+
+> y
+
+Okay, now where did I put my orange smoke?.... >POOF!<
+Everything disappears in a dense cloud of orange smoke.
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> w
+
+You fell into a pit and broke every bone in your body!
+
+Now you've really done it! I'm out of orange smoke! You don't expect
+me to do a decent reincarnation without any orange smoke, do you?
+
+> y
+
+Okay, if you're so smart, do it yourself! I'm leaving!
+
+You scored 6 out of a possible 430, using 7 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 40 more points.
diff --git a/tests/pitfall.log b/tests/pitfall.log
new file mode 100644
index 0000000..1582283
--- /dev/null
+++ b/tests/pitfall.log
@@ -0,0 +1,16 @@
+## Death by pitfall
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Die 3 times so we can cover all the obituary messages
+n
+seed 780351908
+enter building
+xyzzy
+s
+y
+xyzzy
+n
+y
+xyzzy
+w
+y
diff --git a/tests/placeholder.chk b/tests/placeholder.chk
new file mode 100644
index 0000000..349bf74
--- /dev/null
+++ b/tests/placeholder.chk
@@ -0,0 +1,944 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> feed dragon
+
+Don't be ridiculous!
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> H'CFL
+
+Nothing happens.
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> Z'ZZZ
+
+Sorry, I don't know the word "Z'ZZZ".
+
+>
+
+>
+You scored 183 out of a possible 430, using 150 turns.
+
+You may now consider yourself a "Seasoned Adventurer".
+
+To achieve the next higher rating, you need 68 more points.
diff --git a/tests/placeholder.log b/tests/placeholder.log
new file mode 100644
index 0000000..7d07add
--- /dev/null
+++ b/tests/placeholder.log
@@ -0,0 +1,158 @@
+## Test behavior of placeholder magic word at reservoir
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+feed dragon
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+n
+d
+bedquilt
+slab
+s
+d
+water plant
+H'CFL
+u
+w
+u
+reservoir
+Z'ZZZ
+
diff --git a/tests/plover.chk b/tests/plover.chk
new file mode 100644
index 0000000..c59ae86
--- /dev/null
+++ b/tests/plover.chk
@@ -0,0 +1,1177 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1495951709
+
+Seed set to 1495951709
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> on
+
+Your lamp is now on.
+
+> xyzzy
+
+>>Foof!<<
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take jade
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop silver
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop jade
+
+OK
+
+> drop rug
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "Q'IBJ". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are bars of silver here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+There is a little axe here.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take axe
+
+OK
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> u
+
+A little dwarf with a big knife blocks your way.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in dirty passage.
+
+> u
+
+There are 2 threatening little dwarves in the room with you.
+
+You're in n/s passage above e/w passage.
+
+> throw axe
+
+You attack a little dwarf, but he dodges out of the way.
+
+There are 2 threatening little dwarves in the room with you.
+
+2 of them throw knives at you!
+
+None of them hits you!
+
+You're in n/s passage above e/w passage.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> throw axe
+
+You attack a little dwarf, but he dodges out of the way.
+
+There are 2 threatening little dwarves in the room with you.
+
+2 of them throw knives at you!
+
+None of them hits you!
+
+You're in n/s passage above e/w passage.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> throw axe
+
+You attack a little dwarf, but he dodges out of the way.
+
+There are 2 threatening little dwarves in the room with you.
+
+2 of them throw knives at you!
+
+None of them hits you!
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in n/s passage above e/w passage.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> drop cage
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> e
+
+You're on east bank of fissure.
+
+There is a small wicker cage discarded nearby.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+You can't carry anything more. You'll have to drop something first.
+
+> n
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> y2
+
+You are in a jumble of rock, with cracks everywhere.
+
+> d
+
+You're at "Y2".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are bars of silver here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> drop ruby
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is an enormous ruby here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is a Persian rug spread out on the floor!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are bars of silver here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop coins
+
+I see no coins here.
+
+> plugh
+
+>>Foof!<<
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> bedquilt
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> listen
+
+The stream splashes loudly into the pool.
+
+> Q'IBJ
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> se
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> take oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop axe
+
+OK
+
+> drop ebony
+
+OK
+
+> drop bottle
+
+OK
+
+> drop appendage
+
+OK
+
+> e
+
+Something you're carrying won't fit through the tunnel with you.
+You'd best take inventory and drop something.
+
+You're in alcove.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is an empty bottle here.
+
+There is a richly-carved ebony statuette here!
+
+There is a little axe here.
+
+There is a jewel-encrusted trident here!
+
+> drop lamp
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> inven
+
+You are currently holding the following:
+Egg-sized emerald
+
+> plover
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+>
+You scored 169 out of a possible 430, using 187 turns.
+
+You have achieved the rating: "Experienced Adventurer".
+
+To achieve the next higher rating, you need 2 more points.
diff --git a/tests/plover.log b/tests/plover.log
new file mode 100644
index 0000000..0d1b5a5
--- /dev/null
+++ b/tests/plover.log
@@ -0,0 +1,194 @@
+## Test access to emerald room and plover teleport
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
+n
+seed 1495951709
+in
+take lamp
+on
+xyzzy
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take jade
+drop rod
+take bird
+take rod
+d
+w
+wave rod
+drop rod
+e
+n
+free bird
+take bird
+s
+take jewelry
+n
+sw
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+n
+take silver
+n
+plugh
+drop silver
+drop jewelry
+drop jade
+drop rug
+out
+s
+w
+n
+take appendage
+free bird
+listen
+s
+s
+n
+in
+take water
+plugh
+plover
+ne
+take axe
+take pyramid
+s
+plover
+s
+d
+u
+u
+throw axe
+take axe
+throw axe
+take axe
+throw axe
+take axe
+throw axe
+take axe
+s
+e
+w
+drop cage
+w
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+take diamonds
+e
+e
+s
+take gold
+n
+y2
+d
+plugh
+drop diamonds
+drop pyramid
+drop ruby
+plugh
+plugh
+drop coins
+plugh
+s
+d
+bedquilt
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+listen
+Q'IBJ
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+se
+s
+s
+take water
+s
+s
+d
+s
+d
+water plant
+u
+e
+d
+take oil
+u
+w
+d
+climb
+w
+n
+oil door
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop axe
+drop ebony
+drop bottle
+drop appendage
+e
+drop lamp
+e
+take emerald
+inven
+plover
diff --git a/tests/reach_ledge_short.chk b/tests/reach_ledge_short.chk
new file mode 100644
index 0000000..7c02c64
--- /dev/null
+++ b/tests/reach_ledge_short.chk
@@ -0,0 +1,1113 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take
+
+OK
+
+> west
+
+You're in debris room.
+
+> west
+
+You are in an awkward sloping east/west canyon.
+
+> west
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take
+
+OK
+
+> west
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> west
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> n
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extin
+
+Your lamp is now off.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take
+
+OK
+
+> west
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill drago
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop rug
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> west
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> drop cage
+
+OK
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plove
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> s
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plove
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> west
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> w
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> west
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> west
+
+If you prefer, simply type w rather than west.
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> west
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machi
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> z
+
+OK
+
+> s
+
+There is no way to go that direction.
+
+You are in a large chamber with passages to the west and north.
+
+> west
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedqu
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You attack a little dwarf, but he dodges out of the way.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take
+
+Take what?
+
+> slab
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> west
+
+There is a threatening little dwarf in the room with you!
+
+You're in Slab Room.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You are in a secret n/s canyon above a large room.
+
+> reser
+
+There is a threatening little dwarf in the room with you!
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You are climbing along a nearly vertical cliff.
+
+> e
+
+There is no way to go that direction.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It gets you!
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> w
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> d
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> d
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> d
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> d
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> d
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> take water
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> s
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> s
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> s
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> s
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> d
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> s
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> d
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> water plant
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> u
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> e
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> d
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> get oil
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> u
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> west
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> d
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> climb
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> west
+
+Please answer the question.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> n
+
+OK
+
+You scored 79 out of a possible 430, using 128 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 42 more points.
diff --git a/tests/reach_ledge_short.log b/tests/reach_ledge_short.log
new file mode 100644
index 0000000..4890a42
--- /dev/null
+++ b/tests/reach_ledge_short.log
@@ -0,0 +1,243 @@
+## LOC_NOCLIMB.short (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take
+west
+west
+west
+drop rod
+take bird
+take
+west
+d
+d
+free bird
+west
+e
+s
+n
+u
+s
+n
+d
+n
+n
+plugh
+extin
+plugh
+on
+s
+s
+sw
+take
+west
+kill drago
+y
+take rug
+e
+e
+u
+d
+n
+n
+off
+plugh
+drop rug
+out
+s
+west
+n
+drop cage
+s
+s
+n
+in
+take water
+plugh
+on
+plove
+e
+s
+plove
+s
+s
+u
+west
+wave rod
+drop rod
+w
+west
+west
+west
+s
+sw
+se
+s
+kill machi
+s
+s
+kill ogre
+z
+s
+west
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedqu
+throw axe
+take
+slab
+s
+d
+water plant
+u
+west
+u
+reser
+H'CFL
+n
+n
+u
+u
+u
+u
+e
+w
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+e
+d
+get oil
+u
+west
+d
+climb
+west
+n
+oil door
+drop bottl
+n
+west
+d
+se
+n
+west
+drop axe
+drop lante
+e
+take emera
+west
+take lamp
+take
+nw
+s
+e
+se
+throw axe
+e
+west
+d
+ne
+e
+u
+e
+u
+n
+plugh
+take key
+take food
+plugh
+s
+d
+west
+d
+n
+d
+d
+u
+u
+s
+west
+west
+west
+west
+d
+climb
+west
+n
+take bottl
+n
+w
+d
+se
+se
+west
+d
+get oil
+u
+west
+west
+u
+s
+e
+e
+n
+n
+plugh
+take
+out
+west
+n
+n
+n
+fill urn
+light
+rub urn
+take amber
+drop rug
+drop emera
+fly
+e
diff --git a/tests/reach_noclimb.chk b/tests/reach_noclimb.chk
new file mode 100644
index 0000000..6f42d7c
--- /dev/null
+++ b/tests/reach_noclimb.chk
@@ -0,0 +1,178 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> take bird
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> w
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> d
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> w
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> w
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> climb
+
+There is nothing here to climb. Use "up" or "out" to leave the pit.
+
+You're in west pit.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+>
+You scored 59 out of a possible 430, using 24 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 62 more points.
diff --git a/tests/reach_noclimb.log b/tests/reach_noclimb.log
new file mode 100644
index 0000000..ebf8ae3
--- /dev/null
+++ b/tests/reach_noclimb.log
@@ -0,0 +1,29 @@
+## LOC_NOCLIMB (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+e
+take cage
+w
+w
+w
+take bird
+w
+d
+d
+free bird
+n
+d
+w
+d
+w
+w
+w
+w
+d
+climb
diff --git a/tests/reach_planttop.chk b/tests/reach_planttop.chk
new file mode 100644
index 0000000..c19c9d2
--- /dev/null
+++ b/tests/reach_planttop.chk
@@ -0,0 +1,395 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take
+
+OK
+
+> w
+
+You're in debris room.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> take
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> s
+
+There is no way to go that direction.
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> d
+
+There is no way to go that direction.
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> w
+
+You're at a low window overlooking a huge pit, which extends up out of
+sight. A floor is indistinctly visible over 50 feet below. Traces of
+white mist cover the floor of the pit, becoming thicker to the right.
+Marks in the dust around the window would seem to indicate that
+someone has been here recently. Directly across the pit from you and
+25 feet away there is a similar window looking into a lighted room. A
+shadowy figure can be seen there peering back at you.
+
+The shadowy figure seems to be trying to attract your attention.
+
+> w
+
+There is no way to go that direction.
+
+You're at window on pit.
+
+The shadowy figure seems to be trying to attract your attention.
+
+> w
+
+There is no way to go that direction.
+
+You're at window on pit.
+
+The shadowy figure seems to be trying to attract your attention.
+
+> s
+
+There is no way to go that direction.
+
+You're at window on pit.
+
+The shadowy figure seems to be trying to attract your attention.
+
+> w
+
+There is no way to go that direction.
+
+You're at window on pit.
+
+The shadowy figure seems to be trying to attract your attention.
+
+> s
+
+There is no way to go that direction.
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You're at a low window overlooking a huge pit, which extends up out of
+sight. A floor is indistinctly visible over 50 feet below. Traces of
+white mist cover the floor of the pit, becoming thicker to the right.
+Marks in the dust around the window would seem to indicate that
+someone has been here recently. Directly across the pit from you and
+25 feet away there is a similar window looking into a lighted room. A
+shadowy figure can be seen there peering back at you.
+
+There is a little axe here.
+
+The shadowy figure seems to be trying to attract your attention.
+
+> s
+
+There is no way to go that direction.
+
+You're at window on pit.
+
+There is a little axe here.
+
+The shadowy figure seems to be trying to attract your attention.
+
+> s
+
+There is no way to go that direction.
+
+You're at window on pit.
+
+There is a little axe here.
+
+The shadowy figure seems to be trying to attract your attention.
+
+> w
+
+There is no way to go that direction.
+
+You're at window on pit.
+
+There is a little axe here.
+
+The shadowy figure seems to be trying to attract your attention.
+
+> d
+
+There is no way to go that direction.
+
+You're at window on pit.
+
+There is a little axe here.
+
+The shadowy figure seems to be trying to attract your attention.
+
+> e
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedqu
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> s
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> climb
+
+You have climbed up the plant and out of the pit.
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+>
+You scored 63 out of a possible 430, using 50 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 58 more points.
diff --git a/tests/reach_planttop.log b/tests/reach_planttop.log
new file mode 100644
index 0000000..e85f908
--- /dev/null
+++ b/tests/reach_planttop.log
@@ -0,0 +1,55 @@
+## LOC_PLANTTOP (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+e
+take
+w
+w
+w
+take
+w
+d
+d
+free bird
+w
+e
+s
+s
+n
+d
+n
+n
+off
+plugh
+take water
+plugh
+on
+w
+w
+w
+s
+w
+s
+s
+s
+w
+d
+e
+s
+s
+u
+n
+n
+d
+bedqu
+s
+s
+d
+water plant
+climb
diff --git a/tests/reincarnate.chk b/tests/reincarnate.chk
new file mode 100644
index 0000000..edaaf8a
--- /dev/null
+++ b/tests/reincarnate.chk
@@ -0,0 +1,151 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1495774850
+
+Seed set to 1495774850
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take keys
+
+OK
+
+> take lamp
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> s
+
+At your feet all the water of the stream splashes into a 2-inch slit
+in the rock. Downstream the streambed is bare rock.
+
+> s
+
+You are in a 20-foot depression floored with bare dirt. Set into the
+dirt is a strong steel grate mounted in concrete. A dry streambed
+leads into the depression.
+
+The grate is locked.
+
+> open grate
+
+The grate is now unlocked.
+
+> d
+
+You are in a small chamber beneath a 3x3 steel grate to the surface.
+A low crawl over cobbles leads inward to the west.
+
+The grate is open.
+
+> w
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> light lamp
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> down
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> jump
+
+You didn't make it.
+
+Oh dear, you seem to have gotten yourself killed. I might be able to
+help you out, but I've never really done this before. Do you want me
+to try to reincarnate you?
+
+> y
+
+All right. But don't blame me if something goes wr......
+ --- POOF!! ---
+You are engulfed in a cloud of orange smoke. Coughing and gasping,
+you emerge from the smoke and find....
+
+You're inside building.
+
+There is food here.
+
+There is a bottle of water here.
+
+>
+You scored 47 out of a possible 430, using 18 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 74 more points.
diff --git a/tests/reincarnate.log b/tests/reincarnate.log
new file mode 100644
index 0000000..bdf93c4
--- /dev/null
+++ b/tests/reincarnate.log
@@ -0,0 +1,24 @@
+## Jump into a pit and die, then be reincarnated
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1495774850
+in
+take keys
+take lamp
+out
+s
+s
+s
+open grate
+d
+w
+w
+light lamp
+w
+w
+w
+down
+w
+jump
+y
diff --git a/tests/resumefail.chk b/tests/resumefail.chk
new file mode 100644
index 0000000..976fcc9
--- /dev/null
+++ b/tests/resumefail.chk
@@ -0,0 +1,35 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1240742801
+
+Seed set to 1240742801
+
+You're in front of building.
+
+> resume
+
+To resume an earlier Adventure, you must abandon the current one.
+
+Is this acceptable?
+
+> y
+
+OK
+Can't open file /badfilename, try again.
+
+File name:
+You're in front of building.
+
+>
+You scored 32 out of a possible 430, using 1 turn.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 14 more points.
diff --git a/tests/resumefail.log b/tests/resumefail.log
new file mode 100644
index 0000000..c86b323
--- /dev/null
+++ b/tests/resumefail.log
@@ -0,0 +1,9 @@
+## Resume from invalid filename
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE advent430 crashes on resume from invalid filename and we don't care.
+n
+seed 1240742801
+resume
+y
+/badfilename
diff --git a/tests/resumefail2.chk b/tests/resumefail2.chk
new file mode 100644
index 0000000..2aa9441
--- /dev/null
+++ b/tests/resumefail2.chk
@@ -0,0 +1,24 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> resume
+Can't open file y, try again.
+
+I'm sorry, but that Adventure was begun using Version -133.-7 of the
+save file format, and this program uses Version 3.1. You must find an instance
+using that other version in order to resume that Adventure.
+
+You're in front of building.
+
+>
+You scored 32 out of a possible 430, using 1 turn.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 14 more points.
diff --git a/tests/resumefail2.log b/tests/resumefail2.log
new file mode 100644
index 0000000..8a466d5
--- /dev/null
+++ b/tests/resumefail2.log
@@ -0,0 +1,8 @@
+## Resume from generated save with version mismatch error
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE Reveals a bug in advent430 handling of saves with invalid versions.
+n
+resume
+y
+resume_badversion.adv
diff --git a/tests/savefail.chk b/tests/savefail.chk
new file mode 100644
index 0000000..0f005a2
--- /dev/null
+++ b/tests/savefail.chk
@@ -0,0 +1,36 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1240742801
+
+Seed set to 1240742801
+
+You're in front of building.
+
+> save
+
+I can suspend your Adventure for you so that you can resume later, but
+it will cost you 5 points.
+
+Is this acceptable?
+
+> y
+
+OK
+Can't open file /, try again.
+
+File name:
+You're in front of building.
+
+>
+You scored 27 out of a possible 430, using 1 turn.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 19 more points.
diff --git a/tests/savefail.log b/tests/savefail.log
new file mode 100644
index 0000000..8e5fe6a
--- /dev/null
+++ b/tests/savefail.log
@@ -0,0 +1,9 @@
+## Save right after starting to invalid filename
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE advent430 crashes on save to invalid filename and we don't care.
+n
+seed 1240742801
+save
+y
+/
diff --git a/tests/saveresume.1.chk b/tests/saveresume.1.chk
new file mode 100644
index 0000000..711d158
--- /dev/null
+++ b/tests/saveresume.1.chk
@@ -0,0 +1,38 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1240742801
+
+Seed set to 1240742801
+
+You're in front of building.
+
+> save
+
+I can suspend your Adventure for you so that you can resume later, but
+it will cost you 5 points.
+
+Is this acceptable?
+
+> n
+
+OK
+
+> save
+
+I can suspend your Adventure for you so that you can resume later, but
+it will cost you 5 points.
+
+Is this acceptable?
+
+> y
+
+OK
+
+To resume your Adventure, start a new game and then say "RESUME".
diff --git a/tests/saveresume.1.log b/tests/saveresume.1.log
new file mode 100644
index 0000000..c5def6a
--- /dev/null
+++ b/tests/saveresume.1.log
@@ -0,0 +1,12 @@
+## Save right after starting
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE Can't compare to advent430 due to version skew
+n
+seed 1240742801
+save
+n
+save
+y
+saveresume.adv
+y
diff --git a/tests/saveresume.2.chk b/tests/saveresume.2.chk
new file mode 100644
index 0000000..7728f8c
--- /dev/null
+++ b/tests/saveresume.2.chk
@@ -0,0 +1,56 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> resume
+
+To resume an earlier Adventure, you must abandon the current one.
+
+Is this acceptable?
+
+> n
+
+OK
+
+> resume
+
+To resume an earlier Adventure, you must abandon the current one.
+
+Is this acceptable?
+
+> y
+
+OK
+
+You're in front of building.
+
+> quit
+
+Do you really want to quit now?
+
+> yes
+
+OK
+
+You scored 27 out of a possible 430, using 3 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 19 more points.
diff --git a/tests/saveresume.2.log b/tests/saveresume.2.log
new file mode 100644
index 0000000..9995b96
--- /dev/null
+++ b/tests/saveresume.2.log
@@ -0,0 +1,13 @@
+## Resume and then quit
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE Can't compare to advent430 due to version skew
+n
+in
+resume
+n
+resume
+y
+saveresume.adv
+quit
+yes
diff --git a/tests/saveresume.3.chk b/tests/saveresume.3.chk
new file mode 100644
index 0000000..a9069c3
--- /dev/null
+++ b/tests/saveresume.3.chk
@@ -0,0 +1,2944 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You're in anteroom.
+
+> u
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+Your lamp has run out of power.
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+The sepulchral voice intones, "The cave is now closed." As the echoes
+fade, there is a blinding flash of light (and a small puff of orange
+smoke). . . . As your eyes refocus, you look around and find...
+
+You are at the northeast end of an immense room, even larger than the
+Giant Room. It appears to be a repository for the "Adventure"
+program. Massive torches far overhead bathe the room with smoky
+yellow light. Scattered about you can be seen a pile of bottles (all
+of them empty), a nursery of young beanstalks murmuring quietly, a bed
+of oysters, a bundle of black rods with rusty stars on their ends, and
+a collection of brass lanterns. Off to one side a great many dwarves
+are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+not disturb the dwarves!" An immense mirror is hanging against one
+wall, and stretches to the other end of the room, where various other
+sundry objects can be glimpsed dimly in the distance.
+
+> sw
+
+You are at the southwest end of the repository. To one side is a pit
+full of fierce green snakes. On the other side is a row of small
+wicker cages, each of which contains a little sulking bird. In one
+corner is a bundle of black rods with rusty marks on their ends. A
+large number of velvet pillows are scattered about on the floor. A
+vast mirror stretches off to the northeast. At your feet is a large
+steel grate, next to which is a sign that reads, "Treasure Vault.
+Keys in main office."
+
+The grate is locked.
+
+> take rod
+
+OK
+
+> ne
+
+You're at ne end.
+
+> drop rod
+
+OK
+
+> sw
+
+You're at sw end.
+
+The grate is locked.
+
+> save
+
+I can suspend your Adventure for you so that you can resume later, but
+it will cost you 5 points.
+
+Is this acceptable?
+
+> y
+
+OK
+
+To resume your Adventure, start a new game and then say "RESUME".
diff --git a/tests/saveresume.3.log b/tests/saveresume.3.log
new file mode 100644
index 0000000..aaffab4
--- /dev/null
+++ b/tests/saveresume.3.log
@@ -0,0 +1,479 @@
+## Almost win, then save
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
+#NOCOMPARE Seems to reveal a bug in advent430's save function.
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+s
+u
+w
+w
+w
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+xyzzy
+drop emerald
+drop chest
+plugh
+on
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+u
+u
+e
+u
+n
+plover
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+sw
+take rod
+ne
+drop rod
+sw
+save
+y
+saveresume_win.adv
+y
diff --git a/tests/saveresume.4.chk b/tests/saveresume.4.chk
new file mode 100644
index 0000000..260cbf3
--- /dev/null
+++ b/tests/saveresume.4.chk
@@ -0,0 +1,28 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> resume
+Can't open file y, try again.
+
+You're at sw end.
+
+The grate is locked.
+
+> blast
+
+There is a loud explosion, and a twenty-foot hole appears in the far
+wall, burying the dwarves in the rubble. You march through the hole
+and find yourself in the main office, where a cheering band of
+friendly elves carry the conquering adventurer off into the sunset.
+
+You scored 423 out of a possible 430, using 468 turns.
+
+Your score puts you in Master Adventurer Class A.
+
+To achieve the next higher rating, you need 4 more points.
diff --git a/tests/saveresume.4.log b/tests/saveresume.4.log
new file mode 100644
index 0000000..5accd34
--- /dev/null
+++ b/tests/saveresume.4.log
@@ -0,0 +1,11 @@
+## Resume, then win
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Here to get class threshold of 426
+# Note, savefile name has trailing space
+#NOCOMPARE Reveals that advent430 does not resume in endgame gracefully.
+n
+resume
+y
+saveresume_win.adv
+blast
diff --git a/tests/saveresumeopt.chk b/tests/saveresumeopt.chk
new file mode 100644
index 0000000..6e8ead0
--- /dev/null
+++ b/tests/saveresumeopt.chk
@@ -0,0 +1,9 @@
+
+You're in front of building.
+
+>
+You scored 27 out of a possible 430, using 2 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 19 more points.
diff --git a/tests/saveresumeopt.log b/tests/saveresumeopt.log
new file mode 100644
index 0000000..d1889d1
--- /dev/null
+++ b/tests/saveresumeopt.log
@@ -0,0 +1,5 @@
+## Simple quit
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE New feature, -r option
+#options: -r saveresume.adv
diff --git a/tests/savetamper.chk b/tests/savetamper.chk
new file mode 100644
index 0000000..88f86f7
--- /dev/null
+++ b/tests/savetamper.chk
@@ -0,0 +1,17 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> resume
+
+A dark fog creeps in to surround you. From somewhere in the fog you
+hear a stern voice. "This Adventure has been tampered with! You have
+been dabbling in magic, knowing not the havoc you might cause thereby.
+Leave at once, before you do irrevocable harm!" The fog thickens,
+until at last you can see nothing at all. Your vision then clears,
+and you find yourself back in The Real World.
diff --git a/tests/savetamper.log b/tests/savetamper.log
new file mode 100644
index 0000000..62a28f9
--- /dev/null
+++ b/tests/savetamper.log
@@ -0,0 +1,7 @@
+## Resume from artificial "corrupted" save
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE Can't compare to advent430 due to version skew
+n
+resume
+cheat_savetamper.adv
diff --git a/tests/snake_food.chk b/tests/snake_food.chk
new file mode 100644
index 0000000..56e73b3
--- /dev/null
+++ b/tests/snake_food.chk
@@ -0,0 +1,159 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1951269982
+
+Seed set to 1951269982
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> get lamp
+
+OK
+
+> get keys
+
+OK
+
+> out
+
+You're in front of building.
+
+> down
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> s
+
+At your feet all the water of the stream splashes into a 2-inch slit
+in the rock. Downstream the streambed is bare rock.
+
+> s
+
+You are in a 20-foot depression floored with bare dirt. Set into the
+dirt is a strong steel grate mounted in concrete. A dry streambed
+leads into the depression.
+
+The grate is locked.
+
+> open
+
+The grate is now unlocked.
+
+> in
+
+You are in a small chamber beneath a 3x3 steel grate to the surface.
+A low crawl over cobbles leads inward to the west.
+
+The grate is open.
+
+> west
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> get cage
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> get bird
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> down
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> down
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> inventory
+
+You are currently holding the following:
+Set of keys
+Brass lantern
+Wicker cage
+Little bird in cage
+
+> feed snake
+
+The snake has now devoured your bird.
+
+> inventory
+
+You are currently holding the following:
+Set of keys
+Brass lantern
+Wicker cage
+
+>
+You scored 57 out of a possible 430, using 22 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 64 more points.
diff --git a/tests/snake_food.log b/tests/snake_food.log
new file mode 100644
index 0000000..7717f39
--- /dev/null
+++ b/tests/snake_food.log
@@ -0,0 +1,27 @@
+## Snake must vocally eat bird
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1951269982
+in
+get lamp
+get keys
+out
+down
+s
+s
+open
+in
+west
+get cage
+w
+on
+w
+w
+get bird
+w
+down
+down
+inventory
+feed snake
+inventory
diff --git a/tests/softroom.chk b/tests/softroom.chk
new file mode 100644
index 0000000..3e9c86d
--- /dev/null
+++ b/tests/softroom.chk
@@ -0,0 +1,1358 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> eat plant
+
+Don't be ridiculous!
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> eat plant
+
+Don't be ridiculous!
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop pillow
+
+OK
+
+> e
+
+You're in Soft Room.
+
+> drop vase
+
+OK
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Dwarf's axe
+Jeweled trident
+Egg-sized emerald
+Ebony statuette
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+There is a delicate, precious, ming vase here!
+
+>
+
+>
+You scored 191 out of a possible 430, using 223 turns.
+
+You may now consider yourself a "Seasoned Adventurer".
+
+To achieve the next higher rating, you need 60 more points.
diff --git a/tests/softroom.log b/tests/softroom.log
new file mode 100644
index 0000000..113001a
--- /dev/null
+++ b/tests/softroom.log
@@ -0,0 +1,232 @@
+## Drop vase in soft room after pillow removed
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Verify that the vase does not break
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+eat plant
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+eat plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop pillow
+e
+drop vase
+inven
+look
+
diff --git a/tests/specials.chk b/tests/specials.chk
new file mode 100644
index 0000000..0606117
--- /dev/null
+++ b/tests/specials.chk
@@ -0,0 +1,139 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> thank
+
+You're quite welcome.
+
+> shazam
+
+Good try, but that is an old worn-out magic word.
+
+> help
+
+I know of places, actions, and things. Most of my vocabulary
+describes places and is used to move you there. To move, try words
+like forest, building, downstream, enter, east, west, north, south,
+up, or down. I know about a few special objects, like a black rod
+hidden in the cave. These objects can be manipulated using some of
+the action words that I know. Usually you will need to give both the
+object and action words (in either order), but sometimes I can infer
+the object from the verb alone. Some objects also imply verbs; in
+particular, "inventory" implies "take inventory", which causes me to
+give you a list of what you're carrying. Some objects have unexpected
+effects; the effects are not always desirable! Usually people having
+trouble moving just need to try a few more words. Usually people
+trying unsuccessfully to manipulate an object are attempting something
+beyond their (or my!) capabilities and should try a completely
+different tack. One point often confusing to beginners is that, when
+there are several ways to go in a certain direction (e.g., if there
+are several holes in a wall), choosing that direction in effect
+chooses one of the ways at random; often, though, by specifying the
+place you want to reach you can guarantee choosing the right path.
+Also, to speed the game you can sometimes move long distances with a
+single word. For example, "building" usually gets you to the building
+from anywhere above ground except when lost in the forest. Also, note
+that cave passages and forest paths turn a lot, so leaving one place
+heading north doesn't guarantee entering the next from the south.
+However (another important point), except when you've used a "long
+distance" word such as "building", there is always a way to go back
+where you just came from unless I warn you to the contrary, even
+though the direction that takes you back might not be the reverse of
+what got you here. Good luck, and have fun!
+
+> no
+
+OK
+
+> tree
+
+The trees of the forest are large hardwood oak and maple, with an
+occasional grove of pine or spruce. There is quite a bit of under-
+growth, largely birch and ash saplings plus nondescript bushes of
+various sorts. This time of year visibility is quite restricted by
+all the leaves, but travel is quite easy if you detour around the
+spruce and berry bushes.
+
+> dig
+
+Digging without a shovel is quite impractical. Even with a shovel
+progress is unlikely.
+
+> lost
+
+I'm as confused as you are.
+
+> mist
+
+Mist is a white vapor, usually water, seen from time to time in
+caverns. It can be found anywhere but is frequently a sign of a deep
+pit leading down to water.
+
+> fuck
+
+Watch it!
+
+> stop
+
+I don't know the word "stop". Use "quit" if you want to give up.
+
+> info
+
+For a summary of the most recent changes to the game, say "news".
+If you want to end your adventure early, say "quit". To suspend your
+adventure such that you can continue later, say "suspend" (or "pause"
+or "save"). To see how well you're doing, say "score". To get full
+credit for a treasure, you must have left it safely in the building,
+though you get partial credit just for locating it. You lose points
+for getting killed, or for quitting, though the former costs you more.
+There are also points based on how much (if any) of the cave you've
+managed to explore; in particular, there is a large bonus just for
+getting in (to distinguish the beginners from the rest of the pack),
+and there are other ways to determine whether you've been through some
+of the more harrowing sections. If you think you've found all the
+treasures, just keep exploring for a while. If nothing interesting
+happens, you haven't found them all yet. If something interesting
+*DOES* happen (incidentally, there *ARE* ways to hasten things along),
+it means you're getting a bonus and have an opportunity to garner many
+more points in the Master's section. I may occasionally offer hints
+if you seem to be having trouble. If I do, I'll warn you in advance
+how much it will affect your score to accept the hints. Finally, to
+save time, you may specify "brief", which tells me never to repeat the
+full description of a place unless you explicitly ask me to.
+
+> swim
+
+I don't know how.
+
+> wizard
+
+Wizards are not to be disturbed by such as you.
+
+> yes
+
+Guess again.
+
+> news
+
+Open Adventure is an author-approved open-source release of
+Version 2.5 with, as yet, no gameplay changes.
+Version 2.5 was essentially the same as Version II; the cave and the
+hazards therein are unchanged, and top score is still 430 points.
+There are a few more hints, especially for some of the more obscure
+puzzles. There are a few minor bugfixes and cosmetic changes. You
+can now save a game and resume it at once (formerly you had to wait a
+while first), but it now costs you a few points each time you save the
+game. Saved games are now stored in much smaller files than before.
+
+>
+You scored 32 out of a possible 430, using 15 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 14 more points.
diff --git a/tests/specials.log b/tests/specials.log
new file mode 100644
index 0000000..aad0a63
--- /dev/null
+++ b/tests/specials.log
@@ -0,0 +1,22 @@
+## Test special words
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE The news text has changed
+n
+thank
+shazam
+help
+no
+tree
+dig
+lost
+mist
+fuck
+stop
+info
+swim
+wizard
+yes
+news
+# Too much of a PITA to edit the check file after every release bump.
+#version
diff --git a/tests/splatter.chk b/tests/splatter.chk
new file mode 100644
index 0000000..1e90efd
--- /dev/null
+++ b/tests/splatter.chk
@@ -0,0 +1,2932 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> say xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> say plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> say plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> say plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> say plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> say plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> say plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> say plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> say plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> say plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> say plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> say plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> say plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> say xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> say plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You're in anteroom.
+
+> u
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> say plover
+
+>>Foof!<<
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+Your lamp has run out of power.
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+The sepulchral voice intones, "The cave is now closed." As the echoes
+fade, there is a blinding flash of light (and a small puff of orange
+smoke). . . . As your eyes refocus, you look around and find...
+
+You are at the northeast end of an immense room, even larger than the
+Giant Room. It appears to be a repository for the "Adventure"
+program. Massive torches far overhead bathe the room with smoky
+yellow light. Scattered about you can be seen a pile of bottles (all
+of them empty), a nursery of young beanstalks murmuring quietly, a bed
+of oysters, a bundle of black rods with rusty stars on their ends, and
+a collection of brass lanterns. Off to one side a great many dwarves
+are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+not disturb the dwarves!" An immense mirror is hanging against one
+wall, and stretches to the other end of the room, where various other
+sundry objects can be glimpsed dimly in the distance.
+
+> sw
+
+You are at the southwest end of the repository. To one side is a pit
+full of fierce green snakes. On the other side is a row of small
+wicker cages, each of which contains a little sulking bird. In one
+corner is a bundle of black rods with rusty marks on their ends. A
+large number of velvet pillows are scattered about on the floor. A
+vast mirror stretches off to the northeast. At your feet is a large
+steel grate, next to which is a sign that reads, "Treasure Vault.
+Keys in main office."
+
+The grate is locked.
+
+> take rod
+
+OK
+
+> ne
+
+You're at ne end.
+
+> blast
+
+There is a loud explosion, and you are suddenly splashed across the
+walls of the room.
+
+You scored 408 out of a possible 430, using 465 turns.
+
+Your score puts you in Master Adventurer Class B.
+
+To achieve the next higher rating, you need 3 more points.
diff --git a/tests/splatter.log b/tests/splatter.log
new file mode 100644
index 0000000..13a0eb5
--- /dev/null
+++ b/tests/splatter.log
@@ -0,0 +1,473 @@
+## Adventurer fall down go boom. Also tests 'say' verb on magic words.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
+n
+seed 1838473132
+in
+take lamp
+say xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+say plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+say plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+say plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+say plugh
+on
+say plover
+ne
+take pyramid
+s
+say plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+say plugh
+drop ruby
+drop diamonds
+drop pyramid
+say plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+say plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+say plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+say plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+say plugh
+on
+s
+s
+u
+w
+w
+w
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+say xyzzy
+drop emerald
+drop chest
+say plugh
+on
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+u
+u
+e
+u
+n
+say plover
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+sw
+take rod
+ne
+blast
diff --git a/tests/stashed.chk b/tests/stashed.chk
new file mode 100644
index 0000000..58b989c
--- /dev/null
+++ b/tests/stashed.chk
@@ -0,0 +1,2086 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> no
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1318612053
+
+Seed set to 1318612053
+
+You're in front of building.
+
+> e
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plove
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> get emerald
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> drop emerald
+
+OK
+
+> e
+
+You're in Plover Room.
+
+> ne
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> get pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+> plove
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop pyramid
+
+OK
+
+> get lamp
+
+OK
+
+> get water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> w
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> oriental
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> e
+
+You're at east end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> fill bottle
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> e
+
+You're in Swiss Cheese Room.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop bottle
+
+OK
+
+> drop emerald
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> pit
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> drop rod
+
+OK
+
+> e
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> take bird
+
+OK
+
+> w
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> drop bird
+
+OK
+
+> take rod
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take nugget
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> drop bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take bars
+
+OK
+
+> n
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is an emerald here the size of a plover's egg!
+
+There is a bottle of oil here.
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop cage
+
+OK
+
+> drop necklace
+
+OK
+
+> drop nugget
+
+OK
+
+> drop bars
+
+OK
+
+> drop rug
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+You're in debris room.
+
+> pit
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> take rod
+
+OK
+
+> d
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> w
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisting little passages, all different.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> hit machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> sw
+
+You are in a maze of twisting little passages, all different.
+
+> w
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> n
+
+You are at a crossover of a high n/s passage and a low e/w one.
+
+> e
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an enormous ruby here!
+
+There are many coins here!
+
+There is precious jewelry here!
+
+There are diamonds here!
+
+The pirate's treasure chest is here!
+
+> drop rod
+
+OK
+
+> take jewelry
+
+OK
+
+> take chest
+
+OK
+
+> take ruby
+
+OK
+
+> take diamonds
+
+OK
+
+> take coins
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> debris
+
+You're in debris room.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a small wicker cage discarded nearby.
+
+There is a little bird in the cage.
+
+There is an emerald here the size of a plover's egg!
+
+There is a bottle of oil here.
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> off
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop chest
+
+OK
+
+> drop lamp
+
+OK
+
+> take rug
+
+OK
+
+> take emerald
+
+OK
+
+> take cage
+
+OK
+
+> take bottle
+
+OK
+
+> w
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> drop bird
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "N'BEH". You
+thank the bird for this information, and it flies off into the forest.
+
+> drop cage
+
+OK
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> drop rug
+
+OK
+
+> take amber
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> e
+
+You're in front of building.
+
+> e
+
+You are inside a building, a well house for a large spring.
+
+There is a shiny brass lamp nearby.
+
+The pirate's treasure chest is here!
+
+There is precious jewelry here!
+
+There are diamonds here!
+
+There are many coins here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop emerald
+
+OK
+
+> drop ruby
+
+OK
+
+> drop amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop sapphire
+
+OK
+
+> fill bottle
+
+Your bottle is now full of water.
+
+> take lamp
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+There is a little axe here.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> sw
+
+You're in secret e/w canyon above tight canyon.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> n
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> n'beh
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> u
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take statuette
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> fill bottle
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> bedquilt
+
+You're in Bedquilt.
+
+> e
+
+You're at complex junction.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> shell
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+A brilliant blue star sapphire is here!
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+There is an enormous ruby here!
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+There is precious jewelry here!
+
+There are diamonds here!
+
+There are many coins here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop trident
+
+OK
+
+> drop pearl
+
+OK
+
+> drop statuette
+
+OK
+
+> drop appendage
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+There is a little axe here.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> bedquilt
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+> oriental
+
+You're in Oriental Room.
+
+> w
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> throw eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> e
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> throw food
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+Done!
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> release bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> bedquilt
+
+You're in Bedquilt.
+
+> e
+
+You're at complex junction.
+
+> u
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a richly-carved ebony statuette here!
+
+Off to one side lies a glistening pearl!
+
+There is a jewel-encrusted trident here!
+
+A brilliant blue star sapphire is here!
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+There is an enormous ruby here!
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+There is precious jewelry here!
+
+There are diamonds here!
+
+There are many coins here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> drop eggs
+
+OK
+
+> drop chain
+
+OK
+
+> drop spices
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+There is a little axe here.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> n
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+A mysterious recorded voice groans into life and announces:
+ "This exit is closed. Please leave via main office."
+
+You're at "Y2".
+
+There is a little axe here.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+The sepulchral voice intones, "The cave is now closed." As the echoes
+fade, there is a blinding flash of light (and a small puff of orange
+smoke). . . . As your eyes refocus, you look around and find...
+
+You are at the northeast end of an immense room, even larger than the
+Giant Room. It appears to be a repository for the "Adventure"
+program. Massive torches far overhead bathe the room with smoky
+yellow light. Scattered about you can be seen a pile of bottles (all
+of them empty), a nursery of young beanstalks murmuring quietly, a bed
+of oysters, a bundle of black rods with rusty stars on their ends, and
+a collection of brass lanterns. Off to one side a great many dwarves
+are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+not disturb the dwarves!" An immense mirror is hanging against one
+wall, and stretches to the other end of the room, where various other
+sundry objects can be glimpsed dimly in the distance.
+
+> sw
+
+You are at the southwest end of the repository. To one side is a pit
+full of fierce green snakes. On the other side is a row of small
+wicker cages, each of which contains a little sulking bird. In one
+corner is a bundle of black rods with rusty marks on their ends. A
+large number of velvet pillows are scattered about on the floor. A
+vast mirror stretches off to the northeast. At your feet is a large
+steel grate, next to which is a sign that reads, "Treasure Vault.
+Keys in main office."
+
+The grate is locked.
+
+> take pillow
+
+OK
+
+>
+
+>
+You scored 391 out of a possible 430, using 345 turns.
+
+Your score puts you in Master Adventurer Class B.
+
+To achieve the next higher rating, you need 20 more points.
diff --git a/tests/stashed.log b/tests/stashed.log
new file mode 100644
index 0000000..a86a760
--- /dev/null
+++ b/tests/stashed.log
@@ -0,0 +1,353 @@
+## Test picking up stashed objects in endgame
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+no
+seed 1318612053
+e
+plugh
+plove
+get emerald
+w
+drop emerald
+e
+ne
+get pyramid
+s
+plove
+plugh
+drop pyramid
+get lamp
+get water
+plugh
+on
+s
+d
+bedquilt
+w
+e
+take pillow
+w
+oriental
+take vase
+n
+w
+take emerald
+nw
+s
+se
+w
+w
+d
+water plant
+u
+e
+d
+fill bottle
+u
+e
+ne
+e
+u
+e
+u
+n
+plugh
+drop pillow
+drop vase
+drop bottle
+drop emerald
+xyzzy
+take rod
+e
+take cage
+pit
+drop rod
+e
+take bird
+w
+drop bird
+take rod
+wave rod
+take necklace
+drop rod
+take bird
+d
+s
+take nugget
+n
+n
+drop bird
+take bird
+sw
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+n
+take bars
+n
+plugh
+drop cage
+drop necklace
+drop nugget
+drop bars
+drop rug
+xyzzy
+pit
+take rod
+d
+w
+wave rod
+w
+take diamonds
+w
+w
+w
+s
+s
+e
+s
+hit machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+sw
+w
+d
+n
+e
+take coins
+e
+s
+take jewelry
+n
+e
+w
+w
+w
+s
+e
+s
+s
+s
+n
+e
+e
+nw
+drop rod
+take jewelry
+take chest
+take ruby
+take diamonds
+take coins
+se
+w
+s
+d
+debris
+xyzzy
+off
+drop coins
+drop diamonds
+drop jewelry
+drop chest
+drop lamp
+take rug
+take emerald
+take cage
+take bottle
+w
+s
+w
+drop bird
+listen
+drop cage
+n
+take appendage
+n
+e
+n
+n
+fill urn
+light urn
+rub urn
+drop rug
+take amber
+drop emerald
+fly
+take sapphire
+fly
+take emerald
+drop ruby
+take rug
+take ruby
+e
+s
+e
+e
+e
+drop emerald
+drop ruby
+drop amber
+drop rug
+drop sapphire
+fill bottle
+take lamp
+plugh
+on
+s
+s
+sw
+w
+n
+reservoir
+n'beh
+n
+n
+u
+u
+u
+u
+u
+ne
+take statuette
+sw
+d
+d
+d
+d
+d
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+e
+d
+fill bottle
+u
+w
+d
+climb
+w
+take eggs
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+bedquilt
+e
+n
+open clam
+d
+d
+take pearl
+shell
+s
+u
+e
+u
+n
+plugh
+drop trident
+drop pearl
+drop statuette
+drop appendage
+take keys
+take food
+plugh
+s
+d
+bedquilt
+w
+oriental
+w
+sw
+u
+throw eggs
+ne
+barren
+e
+throw food
+unlock chain
+take chain
+take bear
+fork
+ne
+fee
+fie
+foe
+foo
+e
+take spices
+fork
+w
+w
+sw
+release bear
+sw
+sw
+d
+se
+se
+w
+w
+d
+climb
+w
+take eggs
+n
+n
+w
+d
+bedquilt
+e
+u
+e
+u
+n
+plugh
+drop eggs
+drop chain
+drop spices
+plugh
+s
+look
+look
+n
+plugh
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+look
+look
+look
+look
+look
+look
+look
+sw
+# Here we are
+take pillow
+
diff --git a/tests/takebird.chk b/tests/takebird.chk
new file mode 100644
index 0000000..6c6b64d
--- /dev/null
+++ b/tests/takebird.chk
@@ -0,0 +1,2084 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> no
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1318612053
+
+Seed set to 1318612053
+
+You're in front of building.
+
+> e
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plove
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> get emerald
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> drop emerald
+
+OK
+
+> e
+
+You're in Plover Room.
+
+> ne
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> get pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+> plove
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop pyramid
+
+OK
+
+> get lamp
+
+OK
+
+> get water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> w
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> oriental
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> e
+
+You're at east end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> fill bottle
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> e
+
+You're in Swiss Cheese Room.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop bottle
+
+OK
+
+> drop emerald
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> pit
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> drop rod
+
+OK
+
+> e
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> take bird
+
+OK
+
+> w
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> drop bird
+
+OK
+
+> take rod
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take nugget
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> drop bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take bars
+
+OK
+
+> n
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is an emerald here the size of a plover's egg!
+
+There is a bottle of oil here.
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop cage
+
+OK
+
+> drop necklace
+
+OK
+
+> drop nugget
+
+OK
+
+> drop bars
+
+OK
+
+> drop rug
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+You're in debris room.
+
+> pit
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> take rod
+
+OK
+
+> d
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> w
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisting little passages, all different.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> hit machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> sw
+
+You are in a maze of twisting little passages, all different.
+
+> w
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> n
+
+You are at a crossover of a high n/s passage and a low e/w one.
+
+> e
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an enormous ruby here!
+
+There are many coins here!
+
+There is precious jewelry here!
+
+There are diamonds here!
+
+The pirate's treasure chest is here!
+
+> drop rod
+
+OK
+
+> take jewelry
+
+OK
+
+> take chest
+
+OK
+
+> take ruby
+
+OK
+
+> take diamonds
+
+OK
+
+> take coins
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> debris
+
+You're in debris room.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a small wicker cage discarded nearby.
+
+There is a little bird in the cage.
+
+There is an emerald here the size of a plover's egg!
+
+There is a bottle of oil here.
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> off
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop chest
+
+OK
+
+> drop lamp
+
+OK
+
+> take rug
+
+OK
+
+> take emerald
+
+OK
+
+> take cage
+
+OK
+
+> take bottle
+
+OK
+
+> w
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> drop bird
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "N'BEH". You
+thank the bird for this information, and it flies off into the forest.
+
+> drop cage
+
+OK
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> drop rug
+
+OK
+
+> take amber
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> e
+
+You're in front of building.
+
+> e
+
+You are inside a building, a well house for a large spring.
+
+There is a shiny brass lamp nearby.
+
+The pirate's treasure chest is here!
+
+There is precious jewelry here!
+
+There are diamonds here!
+
+There are many coins here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop emerald
+
+OK
+
+> drop ruby
+
+OK
+
+> drop amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop sapphire
+
+OK
+
+> fill bottle
+
+Your bottle is now full of water.
+
+> take lamp
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+There is a little axe here.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> sw
+
+You're in secret e/w canyon above tight canyon.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> n
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> n'beh
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> u
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take statuette
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> fill bottle
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> bedquilt
+
+You're in Bedquilt.
+
+> e
+
+You're at complex junction.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> shell
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+A brilliant blue star sapphire is here!
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+There is an enormous ruby here!
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+There is precious jewelry here!
+
+There are diamonds here!
+
+There are many coins here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop trident
+
+OK
+
+> drop pearl
+
+OK
+
+> drop statuette
+
+OK
+
+> drop appendage
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+There is a little axe here.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> bedquilt
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+> oriental
+
+You're in Oriental Room.
+
+> w
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> throw eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> e
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> throw food
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+Done!
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> release bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> bedquilt
+
+You're in Bedquilt.
+
+> e
+
+You're at complex junction.
+
+> u
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a richly-carved ebony statuette here!
+
+Off to one side lies a glistening pearl!
+
+There is a jewel-encrusted trident here!
+
+A brilliant blue star sapphire is here!
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+There is an enormous ruby here!
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+There is precious jewelry here!
+
+There are diamonds here!
+
+There are many coins here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> drop eggs
+
+OK
+
+> drop chain
+
+OK
+
+> drop spices
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+There is a little axe here.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> n
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+A mysterious recorded voice groans into life and announces:
+ "This exit is closed. Please leave via main office."
+
+You're at "Y2".
+
+There is a little axe here.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+The sepulchral voice intones, "The cave is now closed." As the echoes
+fade, there is a blinding flash of light (and a small puff of orange
+smoke). . . . As your eyes refocus, you look around and find...
+
+You are at the northeast end of an immense room, even larger than the
+Giant Room. It appears to be a repository for the "Adventure"
+program. Massive torches far overhead bathe the room with smoky
+yellow light. Scattered about you can be seen a pile of bottles (all
+of them empty), a nursery of young beanstalks murmuring quietly, a bed
+of oysters, a bundle of black rods with rusty stars on their ends, and
+a collection of brass lanterns. Off to one side a great many dwarves
+are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+not disturb the dwarves!" An immense mirror is hanging against one
+wall, and stretches to the other end of the room, where various other
+sundry objects can be glimpsed dimly in the distance.
+
+> sw
+
+You are at the southwest end of the repository. To one side is a pit
+full of fierce green snakes. On the other side is a row of small
+wicker cages, each of which contains a little sulking bird. In one
+corner is a bundle of black rods with rusty marks on their ends. A
+large number of velvet pillows are scattered about on the floor. A
+vast mirror stretches off to the northeast. At your feet is a large
+steel grate, next to which is a sign that reads, "Treasure Vault.
+Keys in main office."
+
+The grate is locked.
+
+> take bird
+
+OK
+
+>
+You scored 391 out of a possible 430, using 345 turns.
+
+Your score puts you in Master Adventurer Class B.
+
+To achieve the next higher rating, you need 20 more points.
diff --git a/tests/takebird.log b/tests/takebird.log
new file mode 100644
index 0000000..e4fa8e2
--- /dev/null
+++ b/tests/takebird.log
@@ -0,0 +1,353 @@
+## Verify that bird starts caged in endgame
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+no
+seed 1318612053
+e
+plugh
+plove
+get emerald
+w
+drop emerald
+e
+ne
+get pyramid
+s
+plove
+plugh
+drop pyramid
+get lamp
+get water
+plugh
+on
+s
+d
+bedquilt
+w
+e
+take pillow
+w
+oriental
+take vase
+n
+w
+take emerald
+nw
+s
+se
+w
+w
+d
+water plant
+u
+e
+d
+fill bottle
+u
+e
+ne
+e
+u
+e
+u
+n
+plugh
+drop pillow
+drop vase
+drop bottle
+drop emerald
+xyzzy
+take rod
+e
+take cage
+pit
+drop rod
+e
+take bird
+w
+drop bird
+take rod
+wave rod
+take necklace
+drop rod
+take bird
+d
+s
+take nugget
+n
+n
+drop bird
+take bird
+sw
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+n
+take bars
+n
+plugh
+drop cage
+drop necklace
+drop nugget
+drop bars
+drop rug
+xyzzy
+pit
+take rod
+d
+w
+wave rod
+w
+take diamonds
+w
+w
+w
+s
+s
+e
+s
+hit machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+sw
+w
+d
+n
+e
+take coins
+e
+s
+take jewelry
+n
+e
+w
+w
+w
+s
+e
+s
+s
+s
+n
+e
+e
+nw
+drop rod
+take jewelry
+take chest
+take ruby
+take diamonds
+take coins
+se
+w
+s
+d
+debris
+xyzzy
+off
+drop coins
+drop diamonds
+drop jewelry
+drop chest
+drop lamp
+take rug
+take emerald
+take cage
+take bottle
+w
+s
+w
+drop bird
+listen
+drop cage
+n
+take appendage
+n
+e
+n
+n
+fill urn
+light urn
+rub urn
+drop rug
+take amber
+drop emerald
+fly
+take sapphire
+fly
+take emerald
+drop ruby
+take rug
+take ruby
+e
+s
+e
+e
+e
+drop emerald
+drop ruby
+drop amber
+drop rug
+drop sapphire
+fill bottle
+take lamp
+plugh
+on
+s
+s
+sw
+w
+n
+reservoir
+n'beh
+n
+n
+u
+u
+u
+u
+u
+ne
+take statuette
+sw
+d
+d
+d
+d
+d
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+e
+d
+fill bottle
+u
+w
+d
+climb
+w
+take eggs
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+bedquilt
+e
+n
+open clam
+d
+d
+take pearl
+shell
+s
+u
+e
+u
+n
+plugh
+drop trident
+drop pearl
+drop statuette
+drop appendage
+take keys
+take food
+plugh
+s
+d
+bedquilt
+w
+oriental
+w
+sw
+u
+throw eggs
+ne
+barren
+e
+throw food
+unlock chain
+take chain
+take bear
+fork
+ne
+fee
+fie
+foe
+foo
+e
+take spices
+fork
+w
+w
+sw
+release bear
+sw
+sw
+d
+se
+se
+w
+w
+d
+climb
+w
+take eggs
+n
+n
+w
+d
+bedquilt
+e
+u
+e
+u
+n
+plugh
+drop eggs
+drop chain
+drop spices
+plugh
+s
+look
+look
+n
+plugh
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+look
+look
+look
+look
+look
+look
+look
+sw
+# Good response "OK".
+# Buggy response: "You can catch the bird, but you cannot carry it."
+take bird
diff --git a/tests/tall.chk b/tests/tall.chk
new file mode 100644
index 0000000..05f456b
--- /dev/null
+++ b/tests/tall.chk
@@ -0,0 +1,1032 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> n
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extin
+
+Your lamp is now off.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill drago
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plove
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> s
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plove
+
+>>Foof!<<
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+You are in a maze of twisty little passages, all different.
+
+> s
+
+You are in a maze of twisting little passages, all different.
+
+> e
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machi
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> n
+
+The ogre snarls and shoves you back.
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> s
+
+There is no way to go that direction.
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedqu
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reser
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> w
+
+There is no way to go that direction.
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> u
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> w
+
+There is no way to go that direction.
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> d
+
+There is no way to go that direction.
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> d
+
+There is no way to go that direction.
+
+You are at one end of an immense north/south passage.
+
+The way north leads through a massive, rusty, iron door.
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> e
+
+There is no way to go that direction.
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> se
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> canyon
+
+You are in a tall e/w canyon. A low tight crawl goes 3 feet north and
+seems to open up.
+
+> e
+
+You are at a wide place in a very tight n/s canyon.
+
+> s
+
+The canyon here becomes too tight to go further south.
+
+> n
+
+You are at a wide place in a very tight n/s canyon.
+
+> n
+
+You are in a tall e/w canyon. A low tight crawl goes 3 feet north and
+seems to open up.
+
+> w
+
+The canyon runs into a mass of boulders -- dead end.
+
+>
+You scored 77 out of a possible 430, using 163 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 44 more points.
diff --git a/tests/tall.log b/tests/tall.log
new file mode 100644
index 0000000..259732e
--- /dev/null
+++ b/tests/tall.log
@@ -0,0 +1,169 @@
+## Coverage of LOC_TALL, LOC_WIDEPLACE, LOC_TIGHTPLACE
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+d
+d
+free bird
+w
+take coins
+e
+s
+take n
+u
+s
+n
+d
+n
+n
+plugh
+extin
+plugh
+on
+s
+s
+sw
+take
+w
+kill drago
+y
+e
+e
+u
+d
+n
+n
+off
+plugh
+out
+s
+w
+n
+s
+s
+n
+in
+take water
+plugh
+on
+plove
+s
+plove
+s
+s
+u
+w
+wave rod
+west
+w
+w
+w
+s
+s
+e
+s
+kill machi
+s
+s
+n
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+n
+n
+n
+off
+plugh
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedqu
+throw axe
+slab
+s
+d
+water plant
+u
+w
+u
+reser
+H'CFL
+n
+n
+w
+u
+u
+u
+u
+w
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+d
+n
+w
+d
+se
+n
+w
+nw
+s
+e
+se
+canyon
+e
+s
+n
+n
+w
diff --git a/tests/tapdiffer b/tests/tapdiffer
new file mode 100755
index 0000000..ea1cfa7
--- /dev/null
+++ b/tests/tapdiffer
@@ -0,0 +1,53 @@
+#! /bin/sh
+#
+# tapdiffer - Render diff between input and checkfile as a TAP report
+#
+# Usage: tapdiffer LEGEND CHECKFILE
+#
+# Output is a TAP report, ok if the diff is empty and not ok otherwise.
+# A nonempty diff is shipped as a TAP YAML block following "not ok"
+# unless QUIET=1 in the environment.
+#
+# This code is intended to be embedded in your project. The author
+# grants permission for it to be distributed under the prevailing
+# license of your project if you choose, provided that license is
+# OSD-compliant; otherwise the following SPDX tag incorporates the
+# MIT No Attribution license by reference.
+#
+# SPDX-FileCopyrightText: (C) Eric S. Raymond
+# SPDX-License-Identifier: MIT-0
+#
+# A newer version may be available at https://gitlab.com/esr/tapview
+# Check your last commit dqte for this file against the commit list
+# there to see if it might be a good idea to update.
+#
+diffopts=-u
+while getopts bn opt
+do
+ case $opt in
+ b) diffopts=-ub;;
+ *) echo "tapdiffer: unknown option ${opt}."; exit 1;;
+ esac
+done
+# shellcheck disable=SC2004
+shift $(($OPTIND - 1))
+
+legend=$1
+checkfile=$2
+
+trap 'rm /tmp/tapdiff$$' EXIT HUP INT QUIT TERM
+
+if diff --text "${diffopts}" "${checkfile}" - >/tmp/tapdiff$$
+then
+ echo "ok - ${legend}"
+else
+ echo "not ok - ${legend}"
+ if [ ! "${QUIET}" = 1 ]
+ then
+ echo " --- |"
+ sed
+# SPDX-License-Identifier: MIT-0
+#
+# A newer version may be available at https://gitlab.com/esr/tapview
+# Check your last commit date for this file against the commit list
+# there to see if it might be a good idea to update.
+#
+OK="."
+FAIL="F"
+SKIP="s"
+TODO_NOT_OK="x"
+TODO_OK="u"
+
+LF='
+'
+
+ship_char() {
+ # shellcheck disable=SC2039
+ printf '%s' "$1" # https://www.etalabs.net/sh_tricks.html
+}
+
+ship_line() {
+ report="${report}${1}$LF"
+}
+
+ship_error() {
+ # Terminate dot display and bail out with error
+ if [ "${testcount}" -gt 0 ]
+ then
+ echo ""
+ fi
+ report="${report}${1}$LF"
+ echo "${report}"
+ exit 1
+}
+
+testcount=0
+failcount=0
+skipcount=0
+todocount=0
+status=0
+report=""
+IFS=""
+ln=0
+state=plaintext
+
+# shellcheck disable=SC2086
+context_get () { printenv "ctx_${1}${depth}"; }
+context_set () { export "ctx_${1}${depth}=${2}"; }
+
+context_push () {
+ context_set plan ""
+ context_set count 0
+ context_set test_before_plan no
+ context_set test_after_plan no
+ context_set expect ""
+ context_set bail no
+ context_set strict no
+}
+
+context_pop () {
+ if [ "$(context_get count)" -gt 0 ] && [ -z "$(context_get plan)" ]
+ then
+ ship_line "Missing a plan at line ${ln}."
+ status=1
+ elif [ "$(context_get test_before_plan)" = "yes" ] && [ "$(context_get test_after_plan)" = "yes" ]
+ then
+ ship_line "A plan line may only be placed before or after all tests."
+ status=1
+ elif [ "$(context_get plan)" != "" ] && [ "$(context_get expect)" -gt "$(context_get count)" ]
+ then
+ ship_line "Expected $(context_get expect) tests but only ${testcount} ran."
+ status=1
+ elif [ "$(context_get plan)" != "" ] && [ "$(context_get expect)" -lt "$(context_get count)" ]
+ then
+ ship_line "${testcount} ran but $(context_get expect) expected."
+ status=1
+ fi
+}
+
+depth=0
+context_push
+
+while read -r line
+do
+ ln=$((ln + 1))
+ # Process bailout
+ if expr "$line" : "Bail out!" >/dev/null
+ then
+ ship_line "$line"
+ status=2
+ break
+ fi
+ # Use the current indent to choose a scope level
+ indent=$(expr "$line" : '[ ]*')
+ if [ "${indent}" -lt "${depth}" ]
+ then
+ context_pop
+ depth="${indent}"
+ elif [ "${indent}" -gt "${depth}" ]
+ then
+ depth="${indent}"
+ context_push
+ fi
+ # Process a plan line
+ if expr "$line" : '[ ]*1\.\.[0-9][0-9]*' >/dev/null
+ then
+ if [ "$(context_get plan)" != "" ]
+ then
+ ship_error "tapview: cannot have more than one plan line."
+ fi
+ if expr "$line" : ".* *SKIP" >/dev/null || expr "$line" : ".* *skip" >/dev/null
+ then
+ ship_line "$line"
+ echo "${report}"
+ exit 1 # Not specified in the standard whether this should exit 1 or 0
+ fi
+ context_set plan "${line}"
+ context_set expect "$(expr "$line" : '[ ]*1\.\.\([0-9][0-9]*\)')"
+ continue
+ elif expr "$line" : '[ ]*[0-9][0-9]*\.\.[0-9][0-9]*' >/dev/null
+ then
+ echo "Ill-formed plan line at ${ln}"
+ exit 1
+ fi
+ # Check for out-of-order test point numbers with the sequence (TAP 14)
+ testpoint=$(expr "$line" : '.*ok *\([0-9][0-9]*\)')
+ if [ "${testpoint}" != "" ] && [ "$(context_get expect)" != "" ] && [ "${testpoint}" -gt "$(context_get expect)" ]
+ then
+ ship_error "tapview: testpoint number ${testpoint} is out of range for plan $(context_get plan)."
+ fi
+ # Process an ok line
+ if expr "$line" : "[ ]*ok" >/dev/null
+ then
+ context_set count $(($(context_get count) + 1))
+ testcount=$((testcount + 1))
+ if [ "$(context_get plan)" = "" ]
+ then
+ context_set test_before_plan yes
+ else
+ context_set test_after_plan yes
+ fi
+ if expr "$line" : "[^#]* # *TODO" >/dev/null || expr "$line" : "[^#]* # *todo" >/dev/null
+ then
+ ship_char ${TODO_OK}
+ ship_line "$line"
+ todocount=$((todocount + 1))
+ if expr "$line" : "[^#]*#[^ ]" >/dev/null
+ then
+ ship_line "Suspicious comment leader at ${ln}"
+ fi
+ elif expr "$line" : "[^#]* # *SKIP" >/dev/null || expr "$line" : "[^#]* # *skip" >/dev/null
+ then
+ ship_char ${SKIP}
+ ship_line "$line"
+ skipcount=$((skipcount + 1))
+ if expr "$line" : "[^#]*#[^ ]" >/dev/null
+ then
+ ship_line "Suspicious comment leader at ${ln}"
+ fi
+ else
+ ship_char ${OK}
+ fi
+ state=plaintext
+ continue
+ fi
+ # Process a not-ok line
+ if expr "$line" : "[ ]*not ok" >/dev/null
+ then
+ context_set count $(($(context_get count) + 1))
+ testcount=$((testcount + 1))
+ if [ "$(context_get plan)" = "" ]
+ then
+ context_set test_before_plan yes
+ else
+ context_set test_after_plan yes
+ fi
+ if expr "$line" : "[^#]* # *SKIP" >/dev/null || expr "$line" : "[^#]* # *skip" >/dev/null
+ then
+ ship_char "${SKIP}"
+ state=plaintext
+ skipcount=$((skipcount + 1))
+ if expr "$line" : "[^#]* #[^ ]" >/dev/null
+ then
+ ship_line "Suspicious comment leader at lime ${ln}"
+ fi
+ continue
+ fi
+ if expr "$line" : "[^#]* # *TODO" >/dev/null || expr "$line" : "[^#]* # *todo" >/dev/null
+ then
+ ship_char ${TODO_NOT_OK}
+ state=plaintext
+ todocount=$((todocount + 1))
+ if expr "$line" : "[^#]* #[^ ]" >/dev/null
+ then
+ ship_line "Suspicious comment leader at line ${ln}"
+ fi
+ continue
+ fi
+ ship_char "${FAIL}"
+ ship_line "$line"
+ state=plaintext
+ failcount=$((failcount + 1))
+ status=1
+ if [ "$(context_get bail)" = yes ]
+ then
+ ship_line "Bailing out on line ${ln} due to +bail pragma."
+ break
+ fi
+ continue
+ fi
+ # Process a TAP 14 pragma
+ if expr "$line" : "pragma" >/dev/null
+ then
+ unset IFS
+ # shellcheck disable=SC2086
+ set -- $line
+ case "$2" in
+ +bail) context_set bail yes;;
+ -bail) context_set bail yes;;
+ +strict) context_set strict yes;;
+ -strict) context_set strict yes;;
+ *) ship_line "Pragma '$line' ignored";;
+ esac
+ IFS=""
+ continue
+ fi
+ # shellcheck disable=SC2166
+ if [ "${state}" = "yaml" ]
+ then
+ ship_line "$line"
+ if expr "$line" : '[ ]*\.\.\.' >/dev/null
+ then
+ state=plaintext
+ else
+ continue
+ fi
+ elif expr "$line" : "[ ]*---" >/dev/null
+ then
+ ship_line "$line"
+ state=yaml
+ continue
+ fi
+ # Ignore blank lines and comments
+ if [ -z "$line" ] || expr "$line" : '[ ]+$' >/dev/null || expr "$line" : "#" >/dev/null
+ then
+ continue
+ fi
+ # Any line that is not a valid plan, test result, pragma,
+ # or comment lands here.
+ if [ "$(context_get strict)" = yes ]
+ then
+ ship_line "Bailing out on line ${ln} due to +strict pragma"
+ status=1
+ break
+ fi
+done
+
+/bin/echo ""
+
+depth=0
+context_pop
+
+report="${report}${testcount} tests, ${failcount} failures"
+if [ "$todocount" != 0 ]
+then
+ report="${report}, ${todocount} TODOs"
+fi
+if [ "$skipcount" != 0 ]
+then
+ report="${report}, ${skipcount} SKIPs"
+fi
+
+echo "${report}."
+
+exit "${status}"
+
+# end
diff --git a/tests/trident.chk b/tests/trident.chk
new file mode 100644
index 0000000..c27ef42
--- /dev/null
+++ b/tests/trident.chk
@@ -0,0 +1,1428 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1071883378
+
+Seed set to 1071883378
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take jade
+
+OK
+
+> e
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jade
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You're in bird chamber.
+
+> w
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jewelry
+
+OK
+
+> drop rug
+
+I see no rug here.
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "F'JBV". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+There is a little axe here.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> take axe
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mt King.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+There are 2 threatening little dwarves in the room with you.
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There are 2 threatening little dwarves in the room with you.
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There are 2 threatening little dwarves in the room with you.
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There are 2 threatening little dwarves in the room with you.
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There are 2 threatening little dwarves in the room with you.
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There are 2 threatening little dwarves in the room with you.
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There are 2 threatening little dwarves in the room with you.
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There are 2 threatening little dwarves in the room with you.
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There are 2 threatening little dwarves in the room with you.
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarves, who flee
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> down
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+> y2
+
+There is a threatening little dwarf in the room with you!
+
+You are in a jumble of rock, with cracks everywhere.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+You can't carry anything more. You'll have to drop something first.
+
+> e
+
+A little dwarf with a big knife blocks your way.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in the west side chamber.
+
+There are many coins here!
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop gold
+
+OK
+
+> drop coins
+
+I see no coins here.
+
+> drop diamonds
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> bedquilt
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> F'JBV
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> se
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You're at bottom of reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+A little dwarf with a big knife blocks your way.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Slab Room.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in west pit.
+
+There is a little axe here.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> take axe
+
+OK
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop bottle
+
+OK
+
+> drop axe
+
+OK
+
+> drop appendage
+
+OK
+
+> drop pyramid
+
+OK
+
+> drop ebony
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a richly-carved ebony statuette here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a little axe here.
+
+There is an empty bottle here.
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take ebony
+
+OK
+
+> take pyramid
+
+OK
+
+> take appendage
+
+OK
+
+> take axe
+
+OK
+
+> nw
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're in misty cavern.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> listen
+
+You are unable to make anything of the splashing noise.
+
+> w
+
+You're in alcove.
+
+There is an empty bottle here.
+
+There is a jewel-encrusted trident here!
+
+> take bottle
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There are diamonds here!
+
+There is a large sparkling nugget of gold here!
+
+There are bars of silver here!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop bottle
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+>
+You scored 167 out of a possible 430, using 231 turns.
+
+You have achieved the rating: "Experienced Adventurer".
+
+To achieve the next higher rating, you need 4 more points.
diff --git a/tests/trident.log b/tests/trident.log
new file mode 100644
index 0000000..44c9fba
--- /dev/null
+++ b/tests/trident.log
@@ -0,0 +1,240 @@
+## 161-point run to pirate appearance and death by dwarf
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
+n
+seed 1071883378
+in
+take lamp
+xyzzy
+take rod
+e
+take cage
+w
+on
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+drop rod
+take bird
+take jade
+e
+e
+e
+off
+xyzzy
+drop jade
+xyzzy
+on
+w
+w
+w
+take rod
+d
+w
+wave rod
+drop rod
+e
+n
+free bird
+take bird
+s
+take jewelry
+n
+sw
+w
+kill dragon
+yes
+drink blood
+e
+e
+n
+take silver
+n
+off
+plugh
+drop jewelry
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+take axe
+s
+plover
+s
+d
+u
+s
+up
+# Hall of Mists
+w
+w
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+s
+w
+n
+n
+n
+nw
+down
+e
+e
+e
+take diamonds
+e
+e
+s
+take gold
+n
+y2
+d
+s
+s
+w
+take coins
+e
+e
+n
+n
+off
+plugh
+drop gold
+drop coins
+drop diamonds
+plugh
+on
+s
+d
+bedquilt
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+F'JBV
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+se
+s
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+throw axe
+take axe
+u
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop bottle
+drop axe
+drop appendage
+drop pyramid
+drop ebony
+drop lantern
+e
+take emerald
+w
+take lamp
+take ebony
+take pyramid
+take appendage
+take axe
+# Don't take trident now or pirate will snatch it on next move.
+nw
+look
+listen
+w
+take bottle
+take trident
+nw
+s
+take vase
+se
+e
+take pillow
+w
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop bottle
+plugh
+on
diff --git a/tests/troll_returns.chk b/tests/troll_returns.chk
new file mode 100644
index 0000000..6715126
--- /dev/null
+++ b/tests/troll_returns.chk
@@ -0,0 +1,920 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> n
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extin
+
+Your lamp is now off.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+There is a little axe here.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plove
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> plove
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+You are in a maze of twisty little passages, all different.
+
+> s
+
+You are in a maze of twisting little passages, all different.
+
+> e
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machi
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> n
+
+The ogre snarls and shoves you back.
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> s
+
+There is no way to go that direction.
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedqu
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reser
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> s
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> take
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north leads through a massive, rusty, iron door.
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss egg
+
+The troll catches your treasure and scurries away out of sight.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+Done!
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> over
+
+The troll steps out from beneath the bridge and blocks your way.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+>
+You scored 75 out of a possible 430, using 140 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 46 more points.
diff --git a/tests/troll_returns.log b/tests/troll_returns.log
new file mode 100644
index 0000000..2806ade
--- /dev/null
+++ b/tests/troll_returns.log
@@ -0,0 +1,146 @@
+## See that troll returns if we stole his eggs before crossing
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+d
+d
+free bird
+w
+e
+s
+n
+u
+s
+n
+d
+n
+n
+plugh
+extin
+plugh
+on
+s
+s
+sw
+w
+kill
+y
+e
+e
+u
+d
+n
+n
+off
+plugh
+out
+s
+w
+n
+s
+s
+n
+in
+take water
+plugh
+on
+plove
+plove
+s
+s
+u
+w
+wave rod
+west
+w
+w
+w
+s
+s
+e
+s
+kill machi
+s
+s
+n
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+n
+n
+n
+off
+on
+s
+d
+bedqu
+slab
+s
+d
+water plant
+u
+w
+u
+reser
+H'CFL
+n
+n
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+s
+take
+n
+n
+w
+d
+sw
+u
+toss egg
+fee
+fie
+foe
+foo
+look
+over
diff --git a/tests/turnpenalties.chk b/tests/turnpenalties.chk
new file mode 100644
index 0000000..88315a3
--- /dev/null
+++ b/tests/turnpenalties.chk
@@ -0,0 +1,20539 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1951269982
+
+Seed set to 1951269982
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+500 turns? That's another few points you've lost.
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+Are you still at it? Five points off for exceeding 1000 turns!
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> quit
+
+Good grief, don't you *EVER* give up? Do you realize you've spent
+over 2500 turns at this? That's another ten points off, a total of
+twenty points lost for taking so long.
+
+Do you really want to quit now?
+
+> yes
+
+OK
+
+You scored 12 out of a possible 430, using 2501 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 34 more points.
diff --git a/tests/turnpenalties.log b/tests/turnpenalties.log
new file mode 100644
index 0000000..d44ecfc
--- /dev/null
+++ b/tests/turnpenalties.log
@@ -0,0 +1,2507 @@
+## check that the turn count penalties occur
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1951269982
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+in
+out
+quit
+yes
diff --git a/tests/urntest.chk b/tests/urntest.chk
new file mode 100644
index 0000000..8724f9d
--- /dev/null
+++ b/tests/urntest.chk
@@ -0,0 +1,2113 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> carry blood
+
+There are only a few drops--not enough to carry.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're in Mirror Canyon.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> drink oil
+
+Don't be ridiculous!
+
+> get oil
+
+Your bottle is already full.
+
+> drink water
+
+The bottle of water is now empty.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> carry urn
+
+The urn is far too firmly embedded for your puny strength to budge it.
+
+> light urn
+
+The urn is empty and will not light.
+
+> pour bottle
+
+Your bottle is now empty and the urn is full of oil.
+
+> fill bottle
+
+There's no way to get the oil out of the urn.
+
+> drink oil
+
+Don't be ridiculous!
+
+> light
+
+Light what?
+
+> light urn
+
+The urn is now lit.
+
+> fill urn
+
+The urn is already full of oil.
+
+> read urn
+
+I'm afraid I don't understand.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small oil flame extrudes from an urn embedded in the rock.
+
+> extinguish
+
+The urn is now dark.
+
+> extinguish
+
+Extinguish what?
+
+> look
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn full of oil is embedded in the rock.
+
+> light urn
+
+The urn is now lit.
+
+> light
+
+Your lamp is now on.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small oil flame extrudes from an urn embedded in the rock.
+
+> extinguish urn
+
+The urn is now dark.
+
+> extinguish
+
+Your lamp is now off.
+
+> look
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn full of oil is embedded in the rock.
+
+> fly
+
+If you mean to use the Persian rug, it does not appear inclined to
+cooperate.
+
+>
+You scored 265 out of a possible 430, using 358 turns.
+
+You have reached "Junior Master" status.
+
+To achieve the next higher rating, you need 56 more points.
diff --git a/tests/urntest.log b/tests/urntest.log
new file mode 100644
index 0000000..8fffb2f
--- /dev/null
+++ b/tests/urntest.log
@@ -0,0 +1,366 @@
+## Test verbs on urn
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+carry blood
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+w
+u
+reservoir
+take water
+s
+s
+d
+s
+drop appendage
+e
+d
+drink oil
+get oil
+drink water
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+# Everything to here copied from endgame428
+carry urn
+light urn
+# Changed below from "fill urn" in order to test more code
+pour bottle
+fill bottle
+drink oil
+light
+light urn
+fill urn
+read urn
+look
+extinguish
+extinguish
+look
+light urn
+light
+look
+extinguish urn
+extinguish
+look
+fly
diff --git a/tests/urntest2.chk b/tests/urntest2.chk
new file mode 100644
index 0000000..8f8e9cc
--- /dev/null
+++ b/tests/urntest2.chk
@@ -0,0 +1,2038 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> drink plant
+
+Don't be ridiculous!
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> oil plant
+
+I see no oil here.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> lock door
+
+OK
+
+> unlock door
+
+OK
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foe
+
+What's the matter, can't you read? Now you'd best start over.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+Nothing happens.
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> drop bottle
+
+OK
+
+> fill something
+
+Sorry, I don't know the word "something".
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> fill urn
+
+There is nothing here with which to fill it.
+
+> extinguish urn
+
+The urn is now dark.
+
+>
+You scored 267 out of a possible 430, using 344 turns.
+
+You have reached "Junior Master" status.
+
+To achieve the next higher rating, you need 54 more points.
diff --git a/tests/urntest2.log b/tests/urntest2.log
new file mode 100644
index 0000000..22c0d9b
--- /dev/null
+++ b/tests/urntest2.log
@@ -0,0 +1,353 @@
+## Test filling urn when you have no bottle
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Also, try to lock door after oiling it
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+drink plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+oil plant
+u
+drop appendage
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+lock door
+unlock door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foe
+# intentionally mess up above
+fee
+fie
+foe
+foo
+take eggs
+# say big words again after we take the eggs
+fee
+fie
+foe
+foo
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+drop bottle
+fill something
+n
+fill urn
+extinguish urn
diff --git a/tests/urntest3.chk b/tests/urntest3.chk
new file mode 100644
index 0000000..34c30e7
--- /dev/null
+++ b/tests/urntest3.chk
@@ -0,0 +1,2023 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> drink plant
+
+Don't be ridiculous!
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> oil plant
+
+I see no oil here.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> lock door
+
+OK
+
+> unlock door
+
+OK
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foe
+
+What's the matter, can't you read? Now you'd best start over.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> fill bottle
+
+Your bottle is now full of water.
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> fill urn
+
+You empty the bottle into the urn, which promptly ejects the water
+with uncanny accuracy, squirting you directly between the eyes.
+
+> fill urn
+
+There is nothing here with which to fill it.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> fill bottle
+
+There is nothing here with which to fill the bottle.
+
+>
+You scored 267 out of a possible 430, using 340 turns.
+
+You have reached "Junior Master" status.
+
+To achieve the next higher rating, you need 54 more points.
diff --git a/tests/urntest3.log b/tests/urntest3.log
new file mode 100644
index 0000000..fcbdf5e
--- /dev/null
+++ b/tests/urntest3.log
@@ -0,0 +1,347 @@
+## Test filling urn twice. Also, try to lock door after oiling it.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+drink plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+oil plant
+u
+drop appendage
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+lock door
+unlock door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foe
+# intentionally mess up above
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+fill bottle
+out
+w
+n
+n
+n
+fill urn
+fill urn
+s
+fill bottle
diff --git a/tests/vending.chk b/tests/vending.chk
new file mode 100644
index 0000000..4f837bc
--- /dev/null
+++ b/tests/vending.chk
@@ -0,0 +1,313 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1635997320
+
+Seed set to 1635997320
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take jade
+
+OK
+
+> e
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jade
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You're in bird chamber.
+
+> w
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> up
+
+You are at a crossover of a high n/s passage and a low e/w one.
+
+> s
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> read machine
+
+"Drop coins here to receive fresh batteries."
+
+> drop coins
+
+There are fresh batteries here.
+
+> take batteries
+
+OK
+
+> read machine
+
+"Drop coins here to receive fresh batteries."
+
+> throw batteries
+
+OK
+
+> take machine
+
+You can't be serious!
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> attack
+
+Attack what?
+
+> attack machine
+
+The vending machine swings back to block the passage.
+
+>
+You scored 75 out of a possible 430, using 56 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 46 more points.
diff --git a/tests/vending.log b/tests/vending.log
new file mode 100644
index 0000000..3f4a469
--- /dev/null
+++ b/tests/vending.log
@@ -0,0 +1,61 @@
+## Get batteries from the vending machine
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1635997320
+in
+take lamp
+xyzzy
+take rod
+e
+take cage
+w
+on
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+drop rod
+take bird
+take jade
+e
+e
+e
+off
+xyzzy
+drop jade
+xyzzy
+on
+w
+w
+w
+take rod
+d
+w
+wave rod
+drop rod
+e
+n
+free bird
+take bird
+w
+take coins
+up
+s
+s
+sw
+se
+s
+read machine
+drop coins
+take batteries
+read machine
+throw batteries
+take machine
+kill machine
+attack
+attack machine
diff --git a/tests/wakedwarves.chk b/tests/wakedwarves.chk
new file mode 100644
index 0000000..5831d6a
--- /dev/null
+++ b/tests/wakedwarves.chk
@@ -0,0 +1,2915 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You're in anteroom.
+
+> u
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+Your lamp has run out of power.
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+The sepulchral voice intones, "The cave is now closed." As the echoes
+fade, there is a blinding flash of light (and a small puff of orange
+smoke). . . . As your eyes refocus, you look around and find...
+
+You are at the northeast end of an immense room, even larger than the
+Giant Room. It appears to be a repository for the "Adventure"
+program. Massive torches far overhead bathe the room with smoky
+yellow light. Scattered about you can be seen a pile of bottles (all
+of them empty), a nursery of young beanstalks murmuring quietly, a bed
+of oysters, a bundle of black rods with rusty stars on their ends, and
+a collection of brass lanterns. Off to one side a great many dwarves
+are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+not disturb the dwarves!" An immense mirror is hanging against one
+wall, and stretches to the other end of the room, where various other
+sundry objects can be glimpsed dimly in the distance.
+
+> wake dwarf
+
+You prod the nearest dwarf, who wakes up grumpily, takes one look at
+you, curses, and grabs for his axe.
+
+The resulting ruckus has awakened the dwarves. There are now several
+threatening little dwarves in the room with you! Most of them throw
+knives at you! All of them get you!
+
+You scored 393 out of a possible 430, using 462 turns.
+
+Your score puts you in Master Adventurer Class B.
+
+To achieve the next higher rating, you need 18 more points.
diff --git a/tests/wakedwarves.log b/tests/wakedwarves.log
new file mode 100644
index 0000000..4aab61a
--- /dev/null
+++ b/tests/wakedwarves.log
@@ -0,0 +1,471 @@
+## Wake the dwarves and die.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+s
+u
+w
+w
+w
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+xyzzy
+drop emerald
+drop chest
+plugh
+on
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+u
+u
+e
+u
+n
+plover
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+# Everything to here is from endgame428
+wake dwarf
+
diff --git a/tests/wakedwarves2.chk b/tests/wakedwarves2.chk
new file mode 100644
index 0000000..060c96e
--- /dev/null
+++ b/tests/wakedwarves2.chk
@@ -0,0 +1,2931 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You're in anteroom.
+
+> u
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+Your lamp has run out of power.
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+The sepulchral voice intones, "The cave is now closed." As the echoes
+fade, there is a blinding flash of light (and a small puff of orange
+smoke). . . . As your eyes refocus, you look around and find...
+
+You are at the northeast end of an immense room, even larger than the
+Giant Room. It appears to be a repository for the "Adventure"
+program. Massive torches far overhead bathe the room with smoky
+yellow light. Scattered about you can be seen a pile of bottles (all
+of them empty), a nursery of young beanstalks murmuring quietly, a bed
+of oysters, a bundle of black rods with rusty stars on their ends, and
+a collection of brass lanterns. Off to one side a great many dwarves
+are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+not disturb the dwarves!" An immense mirror is hanging against one
+wall, and stretches to the other end of the room, where various other
+sundry objects can be glimpsed dimly in the distance.
+
+> take rod
+
+OK
+
+> go sw
+
+You are at the southwest end of the repository. To one side is a pit
+full of fierce green snakes. On the other side is a row of small
+wicker cages, each of which contains a little sulking bird. In one
+corner is a bundle of black rods with rusty marks on their ends. A
+large number of velvet pillows are scattered about on the floor. A
+vast mirror stretches off to the northeast. At your feet is a large
+steel grate, next to which is a sign that reads, "Treasure Vault.
+Keys in main office."
+
+The grate is locked.
+
+> wave rod
+
+The bird flies about agitatedly for a moment.
+
+The resulting ruckus has awakened the dwarves. There are now several
+threatening little dwarves in the room with you! Most of them throw
+knives at you! All of them get you!
+
+You scored 393 out of a possible 430, using 464 turns.
+
+Your score puts you in Master Adventurer Class B.
+
+To achieve the next higher rating, you need 18 more points.
diff --git a/tests/wakedwarves2.log b/tests/wakedwarves2.log
new file mode 100644
index 0000000..8237af1
--- /dev/null
+++ b/tests/wakedwarves2.log
@@ -0,0 +1,472 @@
+## Wake the dwarves by waving rod and die.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+s
+u
+w
+w
+w
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+xyzzy
+drop emerald
+drop chest
+plugh
+on
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+u
+u
+e
+u
+n
+plover
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+# Everything to here is from endgame428
+take rod
+go sw
+wave rod
diff --git a/tests/wakedwarves3.chk b/tests/wakedwarves3.chk
new file mode 100644
index 0000000..31b5dbd
--- /dev/null
+++ b/tests/wakedwarves3.chk
@@ -0,0 +1,2929 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1838473132
+
+Seed set to 1838473132
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> drop rod
+
+OK
+
+> drop cage
+
+OK
+
+> take cage
+
+OK
+
+> take bird
+
+OK
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> d
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extinguish lamp
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop necklace
+
+OK
+
+> drop gold
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> sw
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Wicker cage
+Little bird in cage
+Dwarf's axe
+Bars of silver
+Persian rug
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "H'CFL". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> up
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> west
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop ruby
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+There is a threatening little dwarf in the room with you!
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Bedquilt.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> H'CFL
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> drop appendage
+
+OK
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+>
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> drop axe
+
+OK
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> drop emerald
+
+OK
+
+> drop ebony
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> drop keys
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Glistening pearl
+Rare spices
+Golden chain
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+There is a little axe here.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is an enormous ruby here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+OK
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Dwarf's axe
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a maze of twisty little passages, all alike.
+
+> throw axe
+
+You killed a little dwarf.
+
+You are in a maze of twisty little passages, all alike.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+> take emerald
+
+OK
+
+> take chest
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is precious jewelry here!
+
+There are many coins here!
+
+> drop emerald
+
+OK
+
+> drop chest
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> e
+
+You're in anteroom.
+
+> u
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+Your lamp has run out of power.
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+There is no way to go that direction.
+
+You're in Plover Room.
+
+> e
+
+The sepulchral voice intones, "The cave is now closed." As the echoes
+fade, there is a blinding flash of light (and a small puff of orange
+smoke). . . . As your eyes refocus, you look around and find...
+
+You are at the northeast end of an immense room, even larger than the
+Giant Room. It appears to be a repository for the "Adventure"
+program. Massive torches far overhead bathe the room with smoky
+yellow light. Scattered about you can be seen a pile of bottles (all
+of them empty), a nursery of young beanstalks murmuring quietly, a bed
+of oysters, a bundle of black rods with rusty stars on their ends, and
+a collection of brass lanterns. Off to one side a great many dwarves
+are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+not disturb the dwarves!" An immense mirror is hanging against one
+wall, and stretches to the other end of the room, where various other
+sundry objects can be glimpsed dimly in the distance.
+
+> take rod
+
+OK
+
+> drop rod
+
+OK
+
+> take rod
+
+OK
+
+> inven
+
+You are currently holding the following:
+Black rod
+
+> attack dwarf
+
+The resulting ruckus has awakened the dwarves. There are now several
+threatening little dwarves in the room with you! Most of them throw
+knives at you! All of them get you!
+
+You scored 393 out of a possible 430, using 466 turns.
+
+Your score puts you in Master Adventurer Class B.
+
+To achieve the next higher rating, you need 18 more points.
diff --git a/tests/wakedwarves3.log b/tests/wakedwarves3.log
new file mode 100644
index 0000000..1d86845
--- /dev/null
+++ b/tests/wakedwarves3.log
@@ -0,0 +1,474 @@
+## Wake the dwarves by attacking one and die.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1838473132
+in
+take lamp
+xyzzy
+on
+take rod
+e
+take cage
+w
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+take necklace
+drop rod
+take bird
+take rod
+d
+d
+free bird
+drop rod
+drop cage
+take cage
+take bird
+w
+take coins
+e
+s
+take jewelry
+n
+up
+s
+take gold
+n
+d
+n
+n
+plugh
+extinguish lamp
+drop coins
+drop jewelry
+drop necklace
+drop gold
+plugh
+on
+s
+take silver
+s
+sw
+take axe
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+up
+d
+n
+n
+off
+plugh
+inven
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+s
+take rod
+up
+w
+wave rod
+drop rod
+west
+take diamonds
+w
+w
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+e
+e
+throw axe
+take axe
+n
+n
+n
+off
+plugh
+drop ruby
+drop diamonds
+drop pyramid
+plugh
+on
+s
+s
+u
+n
+n
+d
+bedquilt
+throw axe
+take axe
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+H'CFL
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+drop appendage
+e
+d
+get oil
+
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+se
+n
+w
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+throw axe
+take axe
+e
+take pillow
+w
+drop axe
+ne
+e
+n
+open clam
+s
+u
+e
+u
+n
+off
+plugh
+drop pillow
+drop vase
+drop trident
+drop emerald
+drop ebony
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+take spices
+drop keys
+fork
+w
+w
+sw
+free bear
+inven
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+e
+take axe
+w
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+s
+u
+w
+w
+w
+s
+e
+s
+throw axe
+take axe
+s
+s
+n
+e
+e
+nw
+take emerald
+take chest
+se
+n
+d
+e
+e
+off
+xyzzy
+drop emerald
+drop chest
+plugh
+on
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+u
+u
+e
+u
+n
+plover
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+# Everything to here is from endgame428
+take rod
+drop rod
+take rod
+inven
+attack dwarf
diff --git a/tests/water_plant2.chk b/tests/water_plant2.chk
new file mode 100644
index 0000000..9ec91c8
--- /dev/null
+++ b/tests/water_plant2.chk
@@ -0,0 +1,618 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 183847312
+
+Seed set to 183847312
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+You're in debris room.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> take bird
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> w
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> n
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+There is a little axe here.
+
+> d
+
+There is no way to go that direction.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+There is a little axe here.
+
+> n
+
+There is no way to go that direction.
+
+You're at "Y2".
+
+There is a little axe here.
+
+> n
+
+There is no way to go that direction.
+
+There is a threatening little dwarf in the room with you!
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> extin
+
+Your lamp is now off.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+There is a little axe here.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill
+
+With what? Your bare hands?
+
+> y
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> d
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+There is a little axe here.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+There is a little axe here.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> s
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A cheerful little bird is sitting here singing.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> u
+
+There is no way to go that direction.
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> w
+
+There is no way to go that direction.
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> s
+
+There is no way to go that direction.
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> w
+
+There is no way to go that direction.
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> s
+
+There is no way to go that direction.
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> w
+
+There is no way to go that direction.
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+You're at "Y2".
+
+There is a little axe here.
+
+> d
+
+There is no way to go that direction.
+
+You're at "Y2".
+
+There is a little axe here.
+
+> e
+
+You are in a jumble of rock, with cracks everywhere.
+
+> u
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You're in Hall of Mt King.
+
+A cheerful little bird is sitting here singing.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedqu
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reser
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> n
+
+There is no way to go that direction.
+
+You're at reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> d
+
+There is no way to go that direction.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> s
+
+There is no way to go that direction.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> water plant
+
+What do you want to do with the water?
+
+>
+You scored 65 out of a possible 430, using 84 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 56 more points.
diff --git a/tests/water_plant2.log b/tests/water_plant2.log
new file mode 100644
index 0000000..44aa76e
--- /dev/null
+++ b/tests/water_plant2.log
@@ -0,0 +1,91 @@
+## Check that pour correctly switches among plant states (fuzzed)
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE Behavior differs due to a parser bug fix.
+n
+seed 183847312
+in
+take lamp
+xyzzy
+on
+e
+take cage
+w
+w
+w
+take bird
+w
+d
+d
+free bird
+w
+e
+n
+n
+d
+n
+n
+plugh
+extin
+plugh
+on
+s
+s
+sw
+w
+kill
+y
+e
+e
+u
+d
+n
+n
+off
+plugh
+out
+s
+w
+n
+s
+s
+n
+in
+take water
+plugh
+on
+s
+s
+s
+u
+w
+s
+w
+s
+w
+n
+n
+n
+d
+e
+u
+n
+n
+d
+bedqu
+slab
+s
+d
+water plant
+u
+w
+u
+reser
+n
+take water
+s
+s
+s
+d
+s
+water plant
diff --git a/tests/weirdbird.chk b/tests/weirdbird.chk
new file mode 100644
index 0000000..c583787
--- /dev/null
+++ b/tests/weirdbird.chk
@@ -0,0 +1,226 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 694608006
+
+Seed set to 694608006
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> take keys
+
+OK
+
+> rub keys
+
+Peculiar. Nothing unexpected happens.
+
+> out
+
+You're in front of building.
+
+> go s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> walk s
+
+At your feet all the water of the stream splashes into a 2-inch slit
+in the rock. Downstream the streambed is bare rock.
+
+> travel s
+
+You are in a 20-foot depression floored with bare dirt. Set into the
+dirt is a strong steel grate mounted in concrete. A dry streambed
+leads into the depression.
+
+The grate is locked.
+
+> attack grate
+
+Don't be ridiculous!
+
+> unlock grate
+
+The grate is now unlocked.
+
+> lock grate
+
+The grate is now locked.
+
+> unlock grate
+
+The grate is now unlocked.
+
+> down
+
+You are in a small chamber beneath a 3x3 steel grate to the surface.
+A low crawl over cobbles leads inward to the west.
+
+The grate is open.
+
+> w
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> read
+
+Read what?
+
+> read keys
+
+I see no keys here.
+
+> on lamp
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> read
+
+"MAGIC WORD XYZZY"
+
+> take rod
+
+OK
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> enter water
+
+Where?
+
+> listen bird
+
+I'm afraid I don't understand.
+
+> eat bird
+
+I think I just lost my appetite.
+
+> feed bird
+
+It's not hungry (it's merely pinin' for the fjords). Besides, you
+have no bird seed.
+
+Are you trying to catch the bird?
+
+> cage bird
+
+Please answer the question.
+
+Are you trying to catch the bird?
+
+> y
+
+I am prepared to give you a hint, but it will cost you 2 points.
+
+Do you want the hint?
+
+> y
+
+Something about you seems to be frightening the bird. Perhaps you
+might figure out what it is.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> get rod
+
+OK
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+> attack bird
+
+The little bird is now dead. Its body disappears.
+
+> grate
+
+You're below the grate.
+
+The grate is open.
+
+> up
+
+You're outside grate.
+
+The grate is open.
+
+> n
+
+You're at slit in streambed.
+
+> n
+
+You're in valley.
+
+> grate
+
+You're outside grate.
+
+The grate is open.
+
+>
+You scored 30 out of a possible 430, using 37 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 16 more points.
diff --git a/tests/weirdbird.log b/tests/weirdbird.log
new file mode 100644
index 0000000..b0f9f79
--- /dev/null
+++ b/tests/weirdbird.log
@@ -0,0 +1,46 @@
+## Do pointless things to the bird to test odd cases.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 694608006
+in
+take lamp
+take keys
+rub keys
+out
+go s
+walk s
+travel s
+attack grate
+unlock grate
+lock grate
+unlock grate
+down
+w
+take cage
+w
+read
+read keys
+on lamp
+read
+take rod
+w
+w
+enter water
+listen bird
+eat bird
+feed bird
+cage bird
+y
+y
+drop rod
+take bird
+get rod
+wave rod
+attack bird
+# Also, test grate as a motion verb.
+grate
+up
+n
+n
+grate
diff --git a/tests/weirddwarf.chk b/tests/weirddwarf.chk
new file mode 100644
index 0000000..0216bc5
--- /dev/null
+++ b/tests/weirddwarf.chk
@@ -0,0 +1,522 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1071883378
+
+Seed set to 1071883378
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take jade
+
+OK
+
+> e
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jade
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You're in bird chamber.
+
+> w
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jewelry
+
+OK
+
+> drop rug
+
+I see no rug here.
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "F'JBV". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+There is a little axe here.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> take axe
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're in Hall of Mt King.
+
+> read dwarf
+
+I'm afraid I don't understand.
+
+> feed dwarf
+
+You fool, dwarves eat only coal! Now you've made him *REALLY* mad!!
+
+> carry
+
+Carry what?
+
+> carry dwarf
+
+You can't be serious!
+
+> find dwarf
+
+I believe what you want is right here with you.
+
+> attack
+
+With what? Your bare hands?
+
+> feed
+
+Feed what?
+
+>
+You scored 103 out of a possible 430, using 88 turns.
+
+Your score qualifies you as a novice class adventurer.
+
+To achieve the next higher rating, you need 18 more points.
diff --git a/tests/weirddwarf.log b/tests/weirddwarf.log
new file mode 100644
index 0000000..613b5f9
--- /dev/null
+++ b/tests/weirddwarf.log
@@ -0,0 +1,95 @@
+## Exercise various verbs on a dwarf
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+n
+seed 1071883378
+in
+take lamp
+xyzzy
+take rod
+e
+take cage
+w
+on
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+drop rod
+take bird
+take jade
+e
+e
+e
+off
+xyzzy
+drop jade
+xyzzy
+on
+w
+w
+w
+take rod
+d
+w
+wave rod
+drop rod
+e
+n
+free bird
+take bird
+s
+take jewelry
+n
+sw
+w
+kill dragon
+yes
+drink blood
+e
+e
+n
+take silver
+n
+off
+plugh
+drop jewelry
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take food
+plugh
+on
+plover
+ne
+take pyramid
+take axe
+s
+plover
+s
+d
+u
+s
+# The actual test - rest was just setup.
+read dwarf
+feed dwarf
+carry
+carry dwarf
+find dwarf
+attack
+feed
diff --git a/tests/win430.chk b/tests/win430.chk
new file mode 100644
index 0000000..0a7e9c8
--- /dev/null
+++ b/tests/win430.chk
@@ -0,0 +1,2108 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> no
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1318612053
+
+Seed set to 1318612053
+
+You're in front of building.
+
+> e
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plove
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> get emerald
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> drop emerald
+
+OK
+
+> e
+
+You're in Plover Room.
+
+> ne
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> get pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+> plove
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop pyramid
+
+OK
+
+> get lamp
+
+OK
+
+> get water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+A hollow voice says "PLUGH".
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> bedquilt
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> w
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> oriental
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> e
+
+You're at east end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> fill bottle
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> e
+
+You're in Swiss Cheese Room.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> n
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop bottle
+
+OK
+
+> drop emerald
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> pit
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> drop rod
+
+OK
+
+> e
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> take bird
+
+OK
+
+> w
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> drop bird
+
+OK
+
+> take rod
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> take necklace
+
+OK
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take nugget
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> drop bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+There are bars of silver here!
+
+> take bars
+
+OK
+
+> n
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is an emerald here the size of a plover's egg!
+
+There is a bottle of oil here.
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop cage
+
+OK
+
+> drop necklace
+
+OK
+
+> drop nugget
+
+OK
+
+> drop bars
+
+OK
+
+> drop rug
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+You're in debris room.
+
+> pit
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> take rod
+
+OK
+
+> d
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+A crystal bridge now spans the fissure.
+
+> w
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisting little passages, all different.
+
+> e
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> hit machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> sw
+
+You are in a maze of twisting little passages, all different.
+
+> w
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> n
+
+You are at a crossover of a high n/s passage and a low e/w one.
+
+> e
+
+You are in the west side chamber of the Hall of the Mountain King.
+A passage continues west and up here.
+
+There are many coins here!
+
+> take coins
+
+OK
+
+> e
+
+You're in Hall of Mt King.
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is an enormous ruby here!
+
+There are many coins here!
+
+There is precious jewelry here!
+
+There are diamonds here!
+
+The pirate's treasure chest is here!
+
+> drop rod
+
+OK
+
+> take jewelry
+
+OK
+
+> take chest
+
+OK
+
+> take ruby
+
+OK
+
+> take diamonds
+
+OK
+
+> take coins
+
+OK
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all alike.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> debris
+
+You're in debris room.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There is a Persian rug spread out on the floor!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a small wicker cage discarded nearby.
+
+There is a little bird in the cage.
+
+There is an emerald here the size of a plover's egg!
+
+There is a bottle of oil here.
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> off
+
+Your lamp is now off.
+
+> drop coins
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop jewelry
+
+OK
+
+> drop chest
+
+OK
+
+> drop lamp
+
+OK
+
+> take rug
+
+OK
+
+> take emerald
+
+OK
+
+> take cage
+
+OK
+
+> take bottle
+
+OK
+
+> w
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> drop bird
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "N'BEH". You
+thank the bird for this information, and it flies off into the forest.
+
+> drop cage
+
+OK
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> drop rug
+
+OK
+
+> take amber
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> e
+
+You're in front of building.
+
+> e
+
+You are inside a building, a well house for a large spring.
+
+There is a shiny brass lamp nearby.
+
+The pirate's treasure chest is here!
+
+There is precious jewelry here!
+
+There are diamonds here!
+
+There are many coins here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop emerald
+
+OK
+
+> drop ruby
+
+OK
+
+> drop amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop sapphire
+
+OK
+
+> fill bottle
+
+Your bottle is now full of water.
+
+> take lamp
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+There is a little axe here.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> sw
+
+You're in secret e/w canyon above tight canyon.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> n
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> n'beh
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> u
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take statuette
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> fill bottle
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> bedquilt
+
+You're in Bedquilt.
+
+> e
+
+You're at complex junction.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> shell
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+A brilliant blue star sapphire is here!
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+There is an enormous ruby here!
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+There is precious jewelry here!
+
+There are diamonds here!
+
+There are many coins here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop trident
+
+OK
+
+> drop pearl
+
+OK
+
+> drop statuette
+
+OK
+
+> drop appendage
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+There is a little axe here.
+
+> s
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> bedquilt
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+> oriental
+
+You're in Oriental Room.
+
+> w
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> throw eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> e
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> throw food
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+Done!
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> take spices
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> release bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> w
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> bedquilt
+
+You're in Bedquilt.
+
+> e
+
+You're at complex junction.
+
+> u
+
+You're in dusty rock room.
+
+> e
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> n
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is a richly-carved ebony statuette here!
+
+Off to one side lies a glistening pearl!
+
+There is a jewel-encrusted trident here!
+
+A brilliant blue star sapphire is here!
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+There is an enormous ruby here!
+
+There is an emerald here the size of a plover's egg!
+
+The pirate's treasure chest is here!
+
+There is precious jewelry here!
+
+There are diamonds here!
+
+There are many coins here!
+
+There are bars of silver here!
+
+There is a large sparkling nugget of gold here!
+
+A precious jade necklace has been dropped here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> drop eggs
+
+OK
+
+> drop chain
+
+OK
+
+> drop spices
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+There is a little axe here.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> n
+
+A sepulchral voice reverberating through the cave, says, "Cave closing
+soon. All adventurers exit immediately through main office."
+
+You're at "Y2".
+
+There is a little axe here.
+
+> plugh
+
+A mysterious recorded voice groans into life and announces:
+ "This exit is closed. Please leave via main office."
+
+You're at "Y2".
+
+There is a little axe here.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> look
+
+The sepulchral voice intones, "The cave is now closed." As the echoes
+fade, there is a blinding flash of light (and a small puff of orange
+smoke). . . . As your eyes refocus, you look around and find...
+
+You are at the northeast end of an immense room, even larger than the
+Giant Room. It appears to be a repository for the "Adventure"
+program. Massive torches far overhead bathe the room with smoky
+yellow light. Scattered about you can be seen a pile of bottles (all
+of them empty), a nursery of young beanstalks murmuring quietly, a bed
+of oysters, a bundle of black rods with rusty stars on their ends, and
+a collection of brass lanterns. Off to one side a great many dwarves
+are sleeping on the floor, snoring loudly. A notice nearby reads: "Do
+not disturb the dwarves!" An immense mirror is hanging against one
+wall, and stretches to the other end of the room, where various other
+sundry objects can be glimpsed dimly in the distance.
+
+> sw
+
+You are at the southwest end of the repository. To one side is a pit
+full of fierce green snakes. On the other side is a row of small
+wicker cages, each of which contains a little sulking bird. In one
+corner is a bundle of black rods with rusty marks on their ends. A
+large number of velvet pillows are scattered about on the floor. A
+vast mirror stretches off to the northeast. At your feet is a large
+steel grate, next to which is a sign that reads, "Treasure Vault.
+Keys in main office."
+
+The grate is locked.
+
+> take rod
+
+OK
+
+> ne
+
+You're at ne end.
+
+> drop rod
+
+OK
+
+> sw
+
+You're at sw end.
+
+The grate is locked.
+
+> blast
+
+There is a loud explosion, and a twenty-foot hole appears in the far
+wall, burying the dwarves in the rubble. You march through the hole
+and find yourself in the main office, where a cheering band of
+friendly elves carry the conquering adventurer off into the sunset.
+
+You scored 430 out of a possible 430, using 349 turns.
+
+Adventuredom stands in awe -- you have now joined the ranks of the
+ W O R L D C H A M P I O N A D V E N T U R E R S !
+It may interest you to know that the Dungeon-Master himself has, to
+my knowledge, never achieved this threshold in fewer than 330 turns.
+
+To achieve the next higher rating would be a neat trick!
+Congratulations!!
diff --git a/tests/win430.log b/tests/win430.log
new file mode 100644
index 0000000..29e6564
--- /dev/null
+++ b/tests/win430.log
@@ -0,0 +1,355 @@
+## Ryan Sarson's 430-point win.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+no
+seed 1318612053
+e
+plugh
+plove
+get emerald
+w
+drop emerald
+e
+ne
+get pyramid
+s
+plove
+plugh
+drop pyramid
+get lamp
+get water
+plugh
+on
+s
+d
+bedquilt
+w
+e
+take pillow
+w
+oriental
+take vase
+n
+w
+take emerald
+nw
+s
+se
+w
+w
+d
+water plant
+u
+e
+d
+fill bottle
+u
+e
+ne
+e
+u
+e
+u
+n
+plugh
+drop pillow
+drop vase
+drop bottle
+drop emerald
+xyzzy
+take rod
+e
+take cage
+pit
+drop rod
+e
+take bird
+w
+drop bird
+take rod
+wave rod
+take necklace
+drop rod
+take bird
+d
+s
+take nugget
+n
+n
+drop bird
+take bird
+sw
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+n
+take bars
+n
+plugh
+drop cage
+drop necklace
+drop nugget
+drop bars
+drop rug
+xyzzy
+pit
+take rod
+d
+w
+wave rod
+w
+take diamonds
+w
+w
+w
+s
+s
+e
+s
+hit machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+sw
+w
+d
+n
+e
+take coins
+e
+s
+take jewelry
+n
+e
+w
+w
+w
+s
+e
+s
+s
+s
+n
+e
+e
+nw
+drop rod
+take jewelry
+take chest
+take ruby
+take diamonds
+take coins
+se
+w
+s
+d
+debris
+xyzzy
+off
+drop coins
+drop diamonds
+drop jewelry
+drop chest
+drop lamp
+take rug
+take emerald
+take cage
+take bottle
+w
+s
+w
+drop bird
+listen
+drop cage
+n
+take appendage
+n
+e
+n
+n
+fill urn
+light urn
+rub urn
+drop rug
+take amber
+drop emerald
+fly
+take sapphire
+fly
+take emerald
+drop ruby
+take rug
+take ruby
+e
+s
+e
+e
+e
+drop emerald
+drop ruby
+drop amber
+drop rug
+drop sapphire
+fill bottle
+take lamp
+plugh
+on
+s
+s
+sw
+w
+n
+reservoir
+n'beh
+n
+n
+u
+u
+u
+u
+u
+ne
+take statuette
+sw
+d
+d
+d
+d
+d
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+e
+d
+fill bottle
+u
+w
+d
+climb
+w
+take eggs
+n
+oil door
+drop bottle
+n
+take trident
+w
+d
+bedquilt
+e
+n
+open clam
+d
+d
+take pearl
+shell
+s
+u
+e
+u
+n
+plugh
+drop trident
+drop pearl
+drop statuette
+drop appendage
+take keys
+take food
+plugh
+s
+d
+bedquilt
+w
+oriental
+w
+sw
+u
+throw eggs
+ne
+barren
+e
+throw food
+unlock chain
+take chain
+take bear
+fork
+ne
+fee
+fie
+foe
+foo
+e
+take spices
+fork
+w
+w
+sw
+release bear
+sw
+sw
+d
+se
+se
+w
+w
+d
+climb
+w
+take eggs
+n
+n
+w
+d
+bedquilt
+e
+u
+e
+u
+n
+plugh
+drop eggs
+drop chain
+drop spices
+plugh
+s
+look
+look
+n
+plugh
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+look
+look
+look
+look
+look
+look
+look
+sw
+take rod
+ne
+drop rod
+sw
+blast
diff --git a/tests/wittsend.chk b/tests/wittsend.chk
new file mode 100644
index 0000000..b92cf2f
--- /dev/null
+++ b/tests/wittsend.chk
@@ -0,0 +1,2636 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 1635997320
+
+Seed set to 1635997320
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take lamp
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> take rod
+
+OK
+
+> e
+
+You are crawling over cobbles in a low passage. There is a dim light
+at the east end of the passage.
+
+There is a small wicker cage discarded nearby.
+
+> take cage
+
+OK
+
+> w
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a debris room filled with stuff washed in from the surface.
+A low wide passage with cobbles becomes plugged with mud and debris
+here, but an awkward canyon leads upward and west. In the mud someone
+has scrawled, "MAGIC WORD XYZZY".
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You are in a splendid chamber thirty feet high. The walls are frozen
+rivers of orange stone. An awkward canyon and a good passage exit
+from east and west sides of the chamber.
+
+A cheerful little bird is sitting here singing.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take rod
+
+OK
+
+> w
+
+At your feet is a small pit breathing traces of white mist. An east
+passage ends here except for a small crack leading on.
+
+Rough stone steps lead down the pit.
+
+> free bird
+
+OK
+
+> wave rod
+
+The bird flies about agitatedly for a moment, then disappears through
+the crack. It reappears shortly, carrying in its beak a jade
+necklace, which it drops at your feet.
+
+> drop rod
+
+OK
+
+> take bird
+
+OK
+
+> take jade
+
+OK
+
+> e
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You're inside building.
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jade
+
+OK
+
+> xyzzy
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're in debris room.
+
+> w
+
+You are in an awkward sloping east/west canyon.
+
+> w
+
+You're in bird chamber.
+
+> w
+
+You're at top of small pit.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+Rough stone steps lead down the pit.
+
+> take rod
+
+OK
+
+> d
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You are on the east bank of a fissure slicing clear across the hall.
+The mist is quite thick here, and the fissure is too wide to jump.
+
+> wave rod
+
+The bird flies agitatedly about the cage.
+
+A crystal bridge now spans the fissure.
+
+> drop rod
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> n
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+A huge green fierce snake bars the way!
+
+> free bird
+
+The little bird attacks the green snake, and in an astounding flurry
+drives the snake away.
+
+> take bird
+
+OK
+
+> s
+
+You are in the south side chamber.
+
+There is precious jewelry here!
+
+> take jewelry
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> sw
+
+You are in a secret canyon which here runs e/w. It crosses over a
+very tight canyon 15 feet below. If you go down you may not be able
+to get back up.
+
+> w
+
+You are in a secret canyon which exits to the north and east.
+
+A huge green fierce dragon bars the way!
+
+The dragon is sprawled out on a Persian rug!!
+
+> kill dragon
+
+With what? Your bare hands?
+
+> yes
+
+Congratulations! You have just vanquished a dragon with your bare
+hands! (Unbelievable, isn't it?)
+
+You are in a secret canyon which exits to the north and east.
+
+There is a Persian rug spread out on the floor!
+
+The blood-specked body of a huge green dead dragon lies to one side.
+
+> drink blood
+
+Your head buzzes strangely for a moment.
+
+> take rug
+
+OK
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+There are bars of silver here!
+
+> take silver
+
+OK
+
+> n
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> drop jewelry
+
+OK
+
+> drop rug
+
+OK
+
+> drop silver
+
+OK
+
+> out
+
+You're in front of building.
+
+> s
+
+You are in a valley in the forest beside a stream tumbling along a
+rocky bed.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> take appendage
+
+OK
+
+> free bird
+
+OK
+
+> drop cage
+
+OK
+
+> listen
+
+The bird is singing to you in gratitude for your having returned it to
+its home. In return, it informs you of a magic word which it thinks
+you may find useful somewhere near the Hall of Mists. The magic word
+changes frequently, but for now the bird believes it is "F'UNJ". You
+thank the bird for this information, and it flies off into the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You're in valley.
+
+> n
+
+You're in front of building.
+
+> in
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+There is a bottle of water here.
+
+> take water
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> plover
+
+>>Foof!<<
+
+You're in a small chamber lit by an eerie green light. An extremely
+narrow tunnel exits to the west. A dark corridor leads ne.
+
+There is an emerald here the size of a plover's egg!
+
+> ne
+
+You're in the dark-room. A corridor leading south is the only exit.
+
+A massive stone tablet embedded in the wall reads:
+"Congratulations on bringing light into the dark-room!"
+
+There is a platinum pyramid here, 8 inches on a side!
+
+> take pyramid
+
+OK
+
+> s
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> plover
+
+>>Foof!<<
+
+You're at "Y2".
+
+A hollow voice says "PLUGH".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+A little dwarf just walked around a corner, saw you, threw a little
+axe at you which missed, cursed, and ran away.
+
+You are in a dirty broken passage. To the east is a crawl. To the
+west is a large passage. Above you is a hole to another passage.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You're in n/s passage above e/w passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mt King.
+
+> up
+
+There is a threatening little dwarf in the room with you!
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are on the west side of the fissure in the Hall of Mists.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of the Hall of Mists. A low wide crawl
+continues west and another goes north. To the south is a little
+passage 6 feet off the floor.
+
+> w
+
+There are 2 threatening little dwarves in the room with you.
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You are at the east end of a very long hall apparently without side
+chambers. To the east a low wide crawl slants up. To the north a
+round two foot hole slants down.
+
+> throw axe
+
+You killed a little dwarf. The body vanishes in a cloud of greasy
+black smoke.
+
+There is a threatening little dwarf in the room with you!
+
+One sharp nasty knife is thrown at you!
+
+It misses!
+
+You're at east end of long hall.
+
+There is a little axe here.
+
+> take axe
+
+OK
+
+> w
+
+There is a threatening little dwarf in the room with you!
+
+You are at the west end of a very long featureless hall. The hall
+joins up with a narrow north/south passage.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a maze of twisty little passages, all different.
+
+> sw
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisty passages, all different.
+
+> se
+
+There is a threatening little dwarf in the room with you!
+
+You are in a little maze of twisting passages, all different.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+Dead end
+
+There is a massive and somewhat battered vending machine here. The
+instructions on it read: "Drop coins here to receive fresh batteries."
+
+> kill machine
+
+As you strike the vending machine, it pivots backward along with a
+section of wall, revealing a dark passage leading south.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a long, rough-hewn, north/south corridor.
+
+> s
+
+There is a threatening little dwarf in the room with you!
+
+You are in a large chamber with passages to the west and north.
+
+A formidable ogre bars the northern exit.
+
+> kill ogre
+
+The ogre, who despite his bulk is quite agile, easily dodges your
+attack. He seems almost amused by your puny effort.
+
+One sharp nasty knife is thrown at you!
+
+The ogre, distracted by your rush, is struck by the knife. With a
+blood-curdling yell he turns and bounds after the dwarf, who flees
+in panic. You are left alone in the room.
+
+> n
+
+You are in the ogre's storeroom. The only exit is to the south.
+
+There is an enormous ruby here!
+
+> take ruby
+
+OK
+
+> s
+
+You are in a large chamber with passages to the west and north.
+
+> w
+
+You are in a long, rough-hewn, north/south corridor.
+
+> n
+
+Dead end
+
+There is a massive vending machine here, swung back to reveal a
+southward passage.
+
+> n
+
+You are in a little maze of twisting passages, all different.
+
+> n
+
+You are in a little maze of twisty passages, all different.
+
+> nw
+
+You are in a maze of twisty little passages, all different.
+
+> d
+
+You're at west end of long hall.
+
+> e
+
+You're at east end of long hall.
+
+> e
+
+You're at west end of Hall of Mists.
+
+> e
+
+You're on west bank of fissure.
+
+There are diamonds here!
+
+A crystal bridge spans the fissure.
+
+> take diamonds
+
+OK
+
+> e
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> drop bottle
+
+OK
+
+> s
+
+This is a low room with a crude note on the wall. The note says,
+"You won't get it up the steps".
+
+There is a large sparkling nugget of gold here!
+
+> take gold
+
+OK
+
+> n
+
+You're in Hall of Mists.
+
+There is a bottle of water here.
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop gold
+
+OK
+
+> drop diamonds
+
+OK
+
+> drop pyramid
+
+OK
+
+> drop ruby
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You are in the Hall of the Mountain King, with passages off in all
+directions.
+
+> u
+
+There is a threatening little dwarf in the room with you!
+
+You are at one end of a vast hall stretching forward out of sight to
+the west. There are openings to either side. Nearby, a wide stone
+staircase leads downward. The hall is filled with wisps of white mist
+swaying to and fro almost as if alive. A cold wind blows up the
+staircase. There is a passage at the top of a dome behind you.
+
+There is a bottle of water here.
+
+Rough stone steps lead up the dome.
+
+> take water
+
+OK
+
+> throw axe
+
+You killed a little dwarf.
+
+You're in Hall of Mists.
+
+There is a little axe here.
+
+Rough stone steps lead up the dome.
+
+> take axe
+
+OK
+
+> n
+
+You're in Hall of Mt King.
+
+> n
+
+You are in a low n/s passage at a hole in the floor. The hole goes
+down to an e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> bedquilt
+
+You are in Bedquilt, a long east/west passage with holes everywhere.
+To explore at random select north, south, up, or down.
+
+> slab
+
+You are in a large low circular chamber whose floor is an immense slab
+fallen from the ceiling (Slab Room). East and west there once were
+large passages, but they are now filled with boulders. Low small
+passages go north and south, and the south one quickly bends west
+around the boulders.
+
+> s
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a tiny little plant in the pit, murmuring "water, water, ..."
+
+> water plant
+
+The plant spurts into furious growth for a few seconds.
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> u
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> reservoir
+
+You are at the edge of a large underground reservoir. An opaque cloud
+of white mist fills the room and rises rapidly upward. The lake is
+fed by a stream, which tumbles out of a hole in the wall about 10 feet
+overhead and splashes noisily into the water somewhere within the
+mist. There is a passage going back toward the south.
+
+> F'UNJ
+
+The waters have parted to form a narrow path across the reservoir.
+
+> n
+
+You are walking across the bottom of the reservoir. Walls of water
+rear up on either side. The roar of the water cascading past is
+nearly deafening, and the mist is so thick you can barely see.
+
+> n
+
+You are at the northern edge of the reservoir. A northwest passage
+leads sharply up from here.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> nw
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> u
+
+You are on a very steep incline, which widens at it goes upward.
+
+> u
+
+You are at the base of a nearly vertical cliff. There are some
+slim footholds which would enable you to climb up, but it looks
+extremely dangerous. Here at the base of the cliff lie the remains
+of several earlier adventurers who apparently failed to make it.
+
+> u
+
+You are climbing along a nearly vertical cliff.
+
+> u
+
+Just as you reach the top, your foot slips on a loose rock and you
+make one last desperate grab. Your luck holds, as does your grip.
+With an enormous heave, you lift yourself to the ledge above.
+
+You are on a small ledge at the top of a nearly vertical cliff.
+There is a low crawl leading off to the northeast.
+
+> ne
+
+You have reached a dead end.
+
+There is a richly-carved ebony statuette here!
+
+> take ebony
+
+OK
+
+> sw
+
+You're at top of cliff.
+
+> d
+
+You are climbing along a nearly vertical cliff.
+
+> d
+
+You're at base of cliff.
+
+> d
+
+You are on a very steep incline, which widens at it goes upward.
+
+> d
+
+You are scrambling along a treacherously steep, rocky passage.
+
+> d
+
+You're north of reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> take water
+
+Your bottle is now full of water.
+
+> s
+
+You're at bottom of reservoir.
+
+> s
+
+You're at reservoir.
+
+The waters have parted to form a narrow path across the reservoir.
+
+> s
+
+You are in a north/south canyon about 25 feet across. The floor is
+covered by white mist seeping in from the north. The walls extend
+upward for well over 100 feet. Suspended from some unseen point far
+above you, an enormous two-sided mirror is hanging parallel to and
+midway between the canyon walls. (The mirror is obviously provided
+for the use of the dwarves who, as you know, are extremely vain.) A
+small window can be seen in either wall, some fifty feet up.
+
+> s
+
+You are in a secret n/s canyon above a large room.
+
+> d
+
+You're in Slab Room.
+
+> s
+
+You're at west end of Twopit Room.
+
+The top of a 12-foot-tall beanstalk is poking out of the west pit.
+
+> d
+
+You're in west pit.
+
+There is a 12-foot-tall beanstalk stretching up out of the pit,
+bellowing "WATER!! WATER!!"
+
+> water plant
+
+The plant grows explosively, almost filling the bottom of the pit.
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> e
+
+You are at the east end of the Twopit Room. The floor here is
+littered with thin rock slabs, which make it easy to descend the pits.
+There is a path here bypassing the pits to connect passages from east
+and west. There are holes all over, but the only big one is on the
+wall directly over the west pit where you can't get to it.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the eastern pit in the Twopit Room. There is
+a small pool of oil in one corner of the pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> u
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You are in a long, narrow corridor stretching out of sight to the
+west. At the eastern end is a hole through which you can see a
+profusion of leaves.
+
+> w
+
+You are in the Giant Room. The ceiling here is too high up for your
+lamp to show it. Cavernous passages lead east, north, and south. On
+the west wall is scrawled the inscription, "FEE FIE FOE FOO" [sic].
+
+There is a large nest here, full of golden eggs!
+
+> n
+
+You are at one end of an immense north/south passage.
+
+The way north is barred by a massive, rusty, iron door.
+
+> oil door
+
+The oil has freed up the hinges so that the door will now move,
+although it requires some effort.
+
+> drop bottle
+
+OK
+
+> drop appendage
+
+OK
+
+> n
+
+You are in a magnificent cavern with a rushing stream, which cascades
+over a sparkling waterfall into a roaring whirlpool which disappears
+through a hole in the floor. Passages exit to the south and west.
+
+There is a jewel-encrusted trident here!
+
+> take trident
+
+OK
+
+> w
+
+You are at the top of a steep incline above a large room. You could
+climb down here, but you would not be able to climb up. There is a
+passage leading back to the north.
+
+> d
+
+You are in a large low room. Crawls lead north, se, and sw.
+
+> se
+
+This is the Oriental Room. Ancient oriental cave drawings cover the
+walls. A gently sloping passage leads upward to the north, another
+passage leads se, and a hands and knees crawl leads west.
+
+There is a delicate, precious, ming vase here!
+
+> n
+
+You are following a wide path around the outer edge of a large cavern.
+Far below, through a heavy white mist, strange splashing noises can be
+heard. The mist rises up through a fissure in the ceiling. The path
+exits to the south and west.
+
+> w
+
+You are in an alcove. A small nw path seems to widen after a short
+distance. An extremely tight tunnel leads east. It looks like a very
+tight squeeze. An eerie light can be seen at the other end.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Dwarf's axe
+Jeweled trident
+Ebony statuette
+
+> drop trident
+
+OK
+
+> drop ebony
+
+OK
+
+> drop axe
+
+OK
+
+> drop lantern
+
+OK
+
+> e
+
+You're in Plover Room.
+
+There is an emerald here the size of a plover's egg!
+
+> take emerald
+
+OK
+
+> w
+
+You're in alcove.
+
+There is a lamp shining nearby.
+
+There is a little axe here.
+
+There is a richly-carved ebony statuette here!
+
+There is a jewel-encrusted trident here!
+
+> take lamp
+
+OK
+
+> take axe
+
+OK
+
+> take ebony
+
+OK
+
+> take trident
+
+OK
+
+> nw
+
+You're in misty cavern.
+
+> s
+
+You're in Oriental Room.
+
+There is a delicate, precious, ming vase here!
+
+> take vase
+
+OK
+
+> se
+
+You are in a room whose walls resemble Swiss cheese. Obvious passages
+go west, east, ne, and nw. Part of the room is occupied by a large
+bedrock block.
+
+> e
+
+You are in the Soft Room. The walls are covered with heavy curtains,
+the floor with a thick pile carpet. Moss covers the ceiling.
+
+A small velvet pillow lies on the floor.
+
+> take pillow
+
+OK
+
+> w
+
+You're in Swiss Cheese Room.
+
+> ne
+
+You're in Bedquilt.
+
+> e
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> n
+
+You're in a large room carved out of sedimentary rock. The floor and
+walls are littered with bits of shells embedded in the stone. A
+shallow passage proceeds downward, and a somewhat steeper one leads
+up. A low hands and knees passage enters from the south.
+
+There is an enormous clam here with its shell tightly closed.
+
+> open clam
+
+A glistening pearl falls out of the clam and rolls away. Goodness,
+this must really be an oyster. (I never was very good at identifying
+bivalves.) Whatever it is, it has now snapped shut again.
+
+> s
+
+You're at complex junction.
+
+> u
+
+You are in a large room full of dusty rocks. There is a big hole in
+the floor. There are cracks everywhere, and a passage leading east.
+
+> e
+
+Out from the shadows behind you pounces a bearded pirate! "Har, har,"
+he chortles, "I'll just take all this booty and hide it away with me
+chest deep in the maze!" He snatches your treasure and vanishes into
+the gloom.
+
+You're in dirty passage.
+
+> u
+
+You're in n/s passage above e/w passage.
+
+> s
+
+You're in Hall of Mt King.
+
+> drop axe
+
+OK
+
+> e
+
+You're in Hall of Mists.
+
+Rough stone steps lead up the dome.
+
+> w
+
+You're on east bank of fissure.
+
+A three foot black rod with a rusty star on an end lies nearby.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're on west bank of fissure.
+
+A crystal bridge spans the fissure.
+
+> w
+
+You're at west end of Hall of Mists.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> s
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+There are faint rustling noises from the darkness behind you.
+
+You are in a maze of twisty little passages, all alike.
+
+> e
+
+You are on the brink of a thirty foot pit with a massive orange column
+down one wall. You could climb down here but you could not get back
+up. The maze continues at this level.
+
+> e
+
+You are in a maze of twisty little passages, all alike.
+
+> nw
+
+Dead end
+
+There is a richly-carved ebony statuette here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a delicate, precious, ming vase here!
+
+There is a jewel-encrusted trident here!
+
+The pirate's treasure chest is here!
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Velvet pillow
+
+> take ebony
+
+OK
+
+> take vase
+
+OK
+
+> take trident
+
+OK
+
+> take chest
+
+OK
+
+> take emerald
+
+OK
+
+> se
+
+You are in a maze of twisty little passages, all alike.
+
+> n
+
+You're at brink of pit.
+
+> d
+
+You're in bird chamber.
+
+> e
+
+You are in an awkward sloping east/west canyon.
+
+> e
+
+You're in debris room.
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> xyzzy
+
+>>Foof!<<
+
+You are inside a building, a well house for a large spring.
+
+There is an enormous ruby here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is a large sparkling nugget of gold here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+There are some keys on the ground here.
+
+There is food here.
+
+> drop chest
+
+OK
+
+> drop ebony
+
+OK
+
+> drop pillow
+
+OK
+
+> drop vase
+
+The vase is now resting, delicately, on a velvet pillow.
+
+> drop trident
+
+OK
+
+> take keys
+
+OK
+
+> take food
+
+OK
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> on
+
+Your lamp is now on.
+
+You are in a large room, with a passage to the south, a passage to the
+west, and a wall of broken rock to the east. There is a large "Y2" on
+a rock in the room's center.
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> n
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> d
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> d
+
+You are in a cul-de-sac about eight feet across.
+
+Off to one side lies a glistening pearl!
+
+> take pearl
+
+OK
+
+> u
+
+You are in a long sloping corridor with ragged sharp walls.
+
+> u
+
+You're in Shell Room.
+
+There is an enormous oyster here with its shell tightly closed.
+
+> s
+
+You're at complex junction.
+
+> w
+
+You're in Bedquilt.
+
+> w
+
+You're in Swiss Cheese Room.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You are at the west end of the Twopit Room. There is a large hole in
+the wall above the pit at this end of the room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You are at the bottom of the western pit in the Twopit Room. There is
+a large hole in the wall about 25 feet above you.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+There is a large nest here, full of golden eggs!
+
+> get eggs
+
+OK
+
+> n
+
+You are at one end of an immense north/south passage.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+There is an empty bottle here.
+
+The way north leads through a massive, rusty, iron door.
+
+> take bottle
+
+OK
+
+> n
+
+You're in cavern with waterfall.
+
+> w
+
+You're at steep incline above large room.
+
+> d
+
+You're in large low room.
+
+> sw
+
+You are in a long winding corridor sloping out of sight in both
+directions.
+
+> u
+
+You are on one side of a large, deep chasm. A heavy white mist rising
+up from below obscures all view of the far side. A sw path leads away
+from the chasm into a winding corridor.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> toss eggs
+
+The troll catches your treasure and scurries away out of sight.
+
+> ne
+
+You are on the far side of the chasm. A ne path leads away from the
+chasm on this side.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> ne
+
+You're in a long east/west corridor. A faint rumbling noise can be
+heard in the distance.
+
+> barren
+
+You are standing at the entrance to a large, barren room. A notice
+above the entrance reads: "Caution! Bear in room!"
+
+> in
+
+You are inside a barren room. The center of the room is completely
+empty except for some dust. Marks in the dust lead away toward the
+far end of the room. The only exit is the way you came in.
+
+There is a ferocious cave bear eyeing you from the far end of the room!
+
+The bear is locked to the wall with a golden chain!
+
+> feed bear
+
+The bear eagerly wolfs down your food, after which he seems to calm
+down considerably and even becomes rather friendly.
+
+> take chain
+
+The chain is still locked.
+
+> unlock chain
+
+The chain is now unlocked.
+
+> take chain
+
+OK
+
+> take bear
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+The path forks here. The left fork leads northeast. A dull rumbling
+seems to get louder in that direction. The right fork leads southeast
+down a gentle slope. The main corridor enters from the west.
+
+> ne
+
+You are being followed by a very large, tame bear.
+
+The walls are quite warm here. From the north can be heard a steady
+roar, so loud that the entire cave seems to be trembling. Another
+passage leads south, and a low crawl goes east.
+
+> e
+
+You are being followed by a very large, tame bear.
+
+You are in a small chamber filled with large boulders. The walls are
+very warm, causing the air in the room to be almost stifling from the
+heat. The only exit is a crawl heading west, through which is coming
+a low rumbling.
+
+There are rare spices here!
+
+> drop keys
+
+OK
+
+> take spices
+
+OK
+
+> fork
+
+You are being followed by a very large, tame bear.
+
+You're at fork in path.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're in corridor.
+
+> w
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+The troll steps out from beneath the bridge and blocks your way.
+
+You are being followed by a very large, tame bear.
+
+You're on ne side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+A burly troll stands by the bridge and insists you throw him a
+treasure before you may cross.
+
+> free bear
+
+The bear lumbers toward the troll, who lets out a startled shriek and
+scurries away. The bear soon gives up the pursuit and wanders back.
+
+> sw
+
+You're on sw side of chasm.
+
+A rickety wooden bridge extends across the chasm, vanishing into the
+mist. A notice posted on the bridge reads, "Stop! Pay troll!"
+
+The troll is nowhere to be seen.
+
+> sw
+
+You're in sloping corridor.
+
+> d
+
+You're in large low room.
+
+> se
+
+You're in Oriental Room.
+
+> se
+
+You're in Swiss Cheese Room.
+
+> w
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in east pit.
+
+> get oil
+
+Your bottle is now full of oil.
+
+> up
+
+You're at east end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> climb
+
+You clamber up the plant and scurry through the hole at the top.
+
+You're in narrow corridor.
+
+> w
+
+You're in Giant Room.
+
+> fee
+
+OK
+
+> fie
+
+OK
+
+> foe
+
+OK
+
+> foo
+
+There is a large nest here, full of golden eggs!
+
+> take eggs
+
+OK
+
+> s
+
+You're in narrow corridor.
+
+> d
+
+You're in west pit.
+
+There is a gigantic beanstalk stretching all the way up to the hole.
+
+> u
+
+You're at west end of Twopit Room.
+
+There is a huge beanstalk growing out of the west pit up to the hole.
+
+> w
+
+You're in Slab Room.
+
+> u
+
+You are in a secret n/s canyon above a large room.
+
+> s
+
+You are in a secret canyon which exits to the north and east.
+
+The body of a huge green dead dragon is lying off to one side.
+
+> e
+
+You're in secret e/w canyon above tight canyon.
+
+> e
+
+You're in Hall of Mt King.
+
+There is a little axe here.
+
+> n
+
+You're in n/s passage above e/w passage.
+
+> n
+
+You're at "Y2".
+
+> off
+
+Your lamp is now off.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plugh
+
+>>Foof!<<
+
+You're inside building.
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a richly-carved ebony statuette here!
+
+The pirate's treasure chest is here!
+
+There is an enormous ruby here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is a large sparkling nugget of gold here!
+
+There are bars of silver here!
+
+There is a Persian rug spread out on the floor!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+> drop eggs
+
+OK
+
+> drop pearl
+
+OK
+
+> drop spices
+
+OK
+
+> drop chain
+
+OK
+
+> take rug
+
+OK
+
+> take ruby
+
+OK
+
+> take emerald
+
+You are already carrying it!
+
+> out
+
+You're in front of building.
+
+> w
+
+You have walked up a hill, still in the forest. The road slopes back
+down the other side of the hill. There is a building in the distance.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The forest thins out here to reveal a steep cliff. There is no way
+down, but a small ledge can be seen to the west across the chasm.
+
+A small urn is embedded in the rock.
+
+> inven
+
+You are currently holding the following:
+Brass lantern
+Small bottle
+Oil in the bottle
+Egg-sized emerald
+Persian rug
+Giant ruby
+
+> fill urn
+
+Your bottle is now empty and the urn is full of oil.
+
+> light urn
+
+The urn is now lit.
+
+> rub urn
+
+As you rub the urn, there is a flash of light and a genie appears.
+His aspect is stern as he advises: "One who wouldst traffic in
+precious stones must first learn to recognize the signals thereof."
+He wrests the urn from the stone, leaving a small cavity. Turning to
+face you again, he fixes you with a steely eye and intones: "Caution!"
+Genie and urn vanish in a cloud of amber smoke. The smoke condenses
+to form a rare amber gemstone, resting in the cavity in the rock.
+
+> take amber
+
+OK
+
+> drop rug
+
+OK
+
+> drop emerald
+
+The gem fits easily into the cavity.
+
+The Persian rug stiffens and rises a foot or so off the ground.
+
+> fly rug
+
+Tsk! A wizard wouldn't have to take 350 turns. This is going to cost
+you a couple of points.
+
+You board the Persian rug, which promptly whisks you across the chasm.
+You have time for a fleeting glimpse of a two thousand foot drop to a
+mighty river; then you find yourself on the other side.
+
+You are on a small ledge on one face of a sheer cliff. There are no
+paths away from the ledge. Across the chasm is a small clearing
+surrounded by forest.
+
+There is a Persian rug here, hovering in mid-air!
+
+A brilliant blue star sapphire is here!
+
+> take sapphire
+
+OK
+
+> fly rug
+
+The rug ferries you back across the chasm.
+
+You're at cliff.
+
+There is an emerald resting in a small cavity in the rock!
+
+There is a Persian rug here, hovering in mid-air!
+
+> take emerald
+
+OK
+
+> drop ruby
+
+The gem fits easily into the cavity.
+
+The Persian rug settles gently to the ground.
+
+> take rug
+
+OK
+
+> drop bottle
+
+OK
+
+> take ruby
+
+OK
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're at hill in road.
+
+> e
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> in
+
+You're inside building.
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a richly-carved ebony statuette here!
+
+The pirate's treasure chest is here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is a large sparkling nugget of gold here!
+
+There are bars of silver here!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+> drop emerald
+
+OK
+
+> drop ruby
+
+OK
+
+> drop sapphire
+
+OK
+
+> drop amber
+
+OK
+
+> drop rug
+
+OK
+
+> look
+
+Sorry, but I am not allowed to give more detail. I will repeat the
+long description of your location.
+
+You are inside a building, a well house for a large spring.
+
+There is a Persian rug spread out on the floor!
+
+There is a rare amber gemstone here!
+
+A brilliant blue star sapphire is here!
+
+There is an enormous ruby here!
+
+There is an emerald here the size of a plover's egg!
+
+There is a golden chain lying in a heap on the floor!
+
+There are rare spices here!
+
+Off to one side lies a glistening pearl!
+
+There is a large nest here, full of golden eggs!
+
+There is a jewel-encrusted trident here!
+
+There is a delicate, precious, ming vase here!
+
+A small velvet pillow lies on the floor.
+
+There is a richly-carved ebony statuette here!
+
+The pirate's treasure chest is here!
+
+There is a platinum pyramid here, 8 inches on a side!
+
+There are diamonds here!
+
+There is a large sparkling nugget of gold here!
+
+There are bars of silver here!
+
+There is precious jewelry here!
+
+A precious jade necklace has been dropped here!
+
+> plugh
+
+>>Foof!<<
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+A hollow voice says "PLUGH".
+
+> on
+
+Your lamp is now on.
+
+You're at "Y2".
+
+> s
+
+You're in n/s passage above e/w passage.
+
+> d
+
+You're in dirty passage.
+
+> w
+
+You're in dusty rock room.
+
+> d
+
+You're at complex junction.
+
+> e
+
+You are in an anteroom leading to a large passage to the east. Small
+passages go west and up. The remnants of recent digging are evident.
+A sign in midair here says "Cave under construction beyond this point.
+Proceed at own risk. [Witt Construction Company]"
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> take magazine
+
+OK
+
+> e
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+> drop magazine
+
+OK
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+Your lamp is getting dim. You'd best start wrapping this up, unless
+you can find some fresh batteries. I seem to recall there's a vending
+machine in the maze. Bring some coins with you.
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+Do you need help getting out of here?
+
+> n
+
+OK
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You are at Witt's End. Passages lead off in *ALL* directions.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You have crawled around in some little holes and wound up back in the
+main passage.
+
+You're at Witt's End.
+
+There are a few recent issues of "Spelunker Today" magazine here.
+
+> n
+
+You're in anteroom.
+
+> u
+
+You are at a complex junction. A low hands and knees passage from the
+north joins a higher crawl from the east to make a walking passage
+going west. There is also a large room above. The air is damp here.
+
+> u
+
+Your lamp has run out of power.
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> e
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> u
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> n
+
+It is now pitch dark. If you proceed you will likely fall into a pit.
+
+> plover
+
+>>Foof!<<
+
+You're in Plover Room.
+
+>
+You scored 342 out of a possible 430, using 423 turns.
+
+Your score puts you in Master Adventurer Class C.
+
+To achieve the next higher rating, you need 34 more points.
diff --git a/tests/wittsend.log b/tests/wittsend.log
new file mode 100644
index 0000000..6c3a223
--- /dev/null
+++ b/tests/wittsend.log
@@ -0,0 +1,431 @@
+## 342-point run to Witt's End and plover room.
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+# Based on walkthrough at http://www.ecsoftwareconsulting.com/node/56
+n
+seed 1635997320
+in
+take lamp
+xyzzy
+take rod
+e
+take cage
+w
+on
+w
+w
+drop rod
+take bird
+take rod
+w
+free bird
+wave rod
+drop rod
+take bird
+take jade
+e
+e
+e
+off
+xyzzy
+drop jade
+xyzzy
+on
+w
+w
+w
+take rod
+d
+w
+wave rod
+drop rod
+e
+n
+free bird
+take bird
+s
+take jewelry
+n
+sw
+w
+kill dragon
+yes
+drink blood
+take rug
+e
+e
+n
+take silver
+n
+off
+plugh
+drop jewelry
+drop rug
+drop silver
+out
+s
+w
+n
+take appendage
+free bird
+drop cage
+listen
+s
+s
+n
+in
+take water
+plugh
+on
+plover
+ne
+take pyramid
+s
+plover
+s
+d
+take axe
+u
+s
+up
+w
+w
+w
+w
+throw axe
+take axe
+w
+s
+sw
+se
+s
+kill machine
+s
+s
+kill ogre
+n
+take ruby
+s
+w
+n
+n
+n
+nw
+d
+e
+e
+e
+take diamonds
+e
+e
+drop bottle
+s
+take gold
+n
+n
+n
+n
+off
+plugh
+drop gold
+drop diamonds
+drop pyramid
+drop ruby
+plugh
+on
+s
+s
+u
+take water
+throw axe
+take axe
+n
+n
+d
+bedquilt
+slab
+s
+d
+water plant
+u
+w
+u
+reservoir
+F'UNJ
+n
+n
+nw
+u
+u
+u
+u
+ne
+take ebony
+sw
+d
+d
+d
+d
+d
+take water
+s
+s
+s
+s
+d
+s
+d
+water plant
+u
+e
+d
+get oil
+u
+w
+d
+climb
+w
+n
+oil door
+drop bottle
+drop appendage
+n
+take trident
+w
+d
+se
+n
+w
+inven
+drop trident
+drop ebony
+drop axe
+drop lantern
+e
+take emerald
+w
+take lamp
+take axe
+take ebony
+take trident
+nw
+s
+take vase
+se
+e
+take pillow
+w
+ne
+e
+n
+open clam
+s
+u
+e
+u
+s
+drop axe
+e
+w
+w
+w
+s
+e
+s
+s
+s
+n
+e
+e
+nw
+inven
+take ebony
+take vase
+take trident
+take chest
+take emerald
+se
+n
+d
+e
+e
+off
+xyzzy
+drop chest
+drop ebony
+drop pillow
+drop vase
+drop trident
+take keys
+take food
+plugh
+on
+s
+d
+w
+d
+n
+d
+d
+take pearl
+u
+u
+s
+w
+w
+w
+w
+d
+climb
+w
+get eggs
+n
+take bottle
+n
+w
+d
+sw
+u
+toss eggs
+ne
+ne
+barren
+in
+feed bear
+take chain
+unlock chain
+take chain
+take bear
+fork
+ne
+e
+drop keys
+take spices
+fork
+w
+w
+sw
+free bear
+sw
+sw
+d
+se
+se
+w
+d
+get oil
+up
+w
+d
+climb
+w
+fee
+fie
+foe
+foo
+take eggs
+s
+d
+u
+w
+u
+s
+e
+e
+n
+n
+off
+plugh
+drop eggs
+drop pearl
+drop spices
+drop chain
+take rug
+take ruby
+take emerald
+out
+w
+n
+n
+n
+inven
+fill urn
+light urn
+rub urn
+take amber
+drop rug
+drop emerald
+fly rug
+take sapphire
+fly rug
+take emerald
+drop ruby
+take rug
+drop bottle
+take ruby
+e
+s
+e
+e
+in
+drop emerald
+drop ruby
+drop sapphire
+drop amber
+drop rug
+look
+plugh
+on
+s
+d
+w
+d
+e
+take magazine
+e
+drop magazine
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+n
+u
+u
+e
+u
+n
+plover
diff --git a/tests/woodshint.chk b/tests/woodshint.chk
new file mode 100644
index 0000000..7ea7cdd
--- /dev/null
+++ b/tests/woodshint.chk
@@ -0,0 +1,322 @@
+
+Welcome to Adventure!! Would you like instructions?
+
+> n
+
+You are standing at the end of a road before a small brick building.
+Around you is a forest. A small stream flows out of the building and
+down a gully.
+
+> seed 2099333241
+
+Seed set to 2099333241
+
+You're in front of building.
+
+> in
+
+You are inside a building, a well house for a large spring.
+
+There are some keys on the ground here.
+
+There is a shiny brass lamp nearby.
+
+There is food here.
+
+There is a bottle of water here.
+
+> eat
+
+Thank you, it was delicious!
+
+> out
+
+You're in front of building.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You're in front of building.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are in a 20-foot depression floored with bare dirt. Set into the
+dirt is a strong steel grate mounted in concrete. A dry streambed
+leads into the depression.
+
+The grate is locked.
+
+> n
+
+At your feet all the water of the stream splashes into a 2-inch slit
+in the rock. Downstream the streambed is bare rock.
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> back
+
+Sorry, but the path twisted and turned so much that I can't figure
+out which way to go to get back.
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> drop
+
+Drop what?
+
+> say
+
+Say what?
+
+> nothing
+
+OK
+
+> wave
+
+Wave what?
+
+> calm
+
+Calm what?
+
+> walk
+
+Where?
+
+> pour
+
+You aren't carrying it!
+
+> rub
+
+Rub what?
+
+> find
+
+Find what?
+
+> fill
+
+Fill what?
+
+> break
+
+Break what?
+
+> wake
+
+Wake what?
+
+> quit nagging
+
+Sorry, I don't know the word "nagging".
+
+> nothing doing
+
+Sorry, I don't know the word "doing".
+
+> e
+
+You are wandering aimlessly through the forest.
+
+> e
+
+You are wandering aimlessly through the forest.
+
+Would you like to be shown out of the forest?
+
+> e
+
+Please answer the question.
+
+Would you like to be shown out of the forest?
+
+> e
+
+Please answer the question.
+
+Would you like to be shown out of the forest?
+
+> e
+
+Please answer the question.
+
+Would you like to be shown out of the forest?
+
+> e
+
+Please answer the question.
+
+Would you like to be shown out of the forest?
+
+> e
+
+Please answer the question.
+
+Would you like to be shown out of the forest?
+
+> e
+
+Please answer the question.
+
+Would you like to be shown out of the forest?
+
+> e
+
+Please answer the question.
+
+Would you like to be shown out of the forest?
+
+> e
+
+Please answer the question.
+
+Would you like to be shown out of the forest?
+
+> e
+
+Please answer the question.
+
+Would you like to be shown out of the forest?
+
+> e
+
+Please answer the question.
+
+Would you like to be shown out of the forest?
+
+> e
+
+Please answer the question.
+
+Would you like to be shown out of the forest?
+
+> e
+
+Please answer the question.
+
+Would you like to be shown out of the forest?
+
+> e
+
+Please answer the question.
+
+Would you like to be shown out of the forest?
+
+> e
+
+Please answer the question.
+
+Would you like to be shown out of the forest?
+
+> e
+
+Please answer the question.
+
+Would you like to be shown out of the forest?
+
+> y
+
+I am prepared to give you a hint, but it will cost you 2 points.
+
+Do you want the hint?
+
+> y
+
+Go east ten times. If that doesn't get you out, then go south, then
+west twice, then south.
+
+> s
+
+You are wandering aimlessly through the forest.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+Your keen eye spots a severed leporine appendage lying on the ground.
+
+> n
+
+You are wandering aimlessly through the forest.
+
+> n
+
+The road, which approaches from the east, ends here amid the trees.
+
+> w
+
+You are wandering aimlessly through the forest.
+
+> n
+
+You're at end of road.
+
+>
+You scored 30 out of a possible 430, using 45 turns.
+
+You are obviously a rank amateur. Better luck next time.
+
+To achieve the next higher rating, you need 16 more points.
diff --git a/tests/woodshint.log b/tests/woodshint.log
new file mode 100644
index 0000000..acf2f61
--- /dev/null
+++ b/tests/woodshint.log
@@ -0,0 +1,69 @@
+## Test hinting logic - elicit forest hint
+# SPDX-FileCopyrightText: Copyright Eric S. Raymond
+# SPDX-License-Identifier: BSD-2-Clause
+#NOCOMPARE Behavior differs due to a parser bug fix.
+# Also some tests of intransitive-verb cases
+n
+seed 2099333241
+in
+eat
+out
+n
+e
+n
+s
+w
+w
+w
+n
+n
+e
+e
+back
+e
+e
+e
+e
+e
+e
+drop
+say
+nothing
+wave
+calm
+walk
+pour
+rub
+find
+fill
+break
+wake
+quit nagging
+nothing doing
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+y
+y
+s
+w
+w
+n
+n
+n
+w
+n