annotate lisp/play/dunnet.el @ 18092:8428d56cd207

(smtpmail-via-smtp): Recognize XVRB as a synonym for VERB and XONE as a synonym for ONEX. (smtpmail-read-response): Add "%s" to `message' calls to avoid problems with percent signs in strings. (smtpmail-read-response): Return all lines of the response text as a list of strings. Formerly only the first line was returned. This is insufficient when one wants to parse e.g. an EHLO response. Ignore responses starting with "0". This is necessary to support the VERB SMTP extension. (smtpmail-via-smtp): Try EHLO and find out which SMTP service extensions the receiving mailer supports. Issue the ONEX and XUSR commands if the corresponding extensions are supported. Issue VERB if supported and `smtpmail-debug-info' is non-nil. Add SIZE attribute to MAIL FROM: command if SIZE extension is supported. Add code that could set the BODY= attribute to MAIL FROM: if the receiving mailer supports 8BITMIME. This is currently disabled, since doing it right might involve adding MIME headers to, and in some cases reencoding, the message.
author Richard M. Stallman <rms@gnu.org>
date Sun, 01 Jun 1997 22:24:22 +0000
parents ba2bcca6f8c4
children 11218164bc54
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 ;;; dunnet.el --- Text adventure for Emacs
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13952
diff changeset
3 ;; Copyright (C) 1992, 1993 Free Software Foundation, Inc.
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13952
diff changeset
4
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
5 ;; Author: Ron Schnell <ronnie@driver-aces.com>
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6 ;; Created: 25 Jul 1992
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
7 ;; Version: 2.01
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8 ;; Keywords: games
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10 ;; This file is part of GNU Emacs.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 ;; GNU Emacs is free software; you can redistribute it and/or modify
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 ;; it under the terms of the GNU General Public License as published by
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 ;; the Free Software Foundation; either version 2, or (at your option)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15 ;; any later version.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 ;; GNU Emacs is distributed in the hope that it will be useful,
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
20 ;; GNU General Public License for more details.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
22 ;; You should have received a copy of the GNU General Public License
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13952
diff changeset
23 ;; along with GNU Emacs; see the file COPYING. If not, write to the
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13952
diff changeset
24 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13952
diff changeset
25 ;; Boston, MA 02111-1307, USA.
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 ;;; Commentary:
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 ;; This game can be run in batch mode. To do this, use:
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
30 ;; emacs -batch -l dunnet
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 ;;; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 ;;; The log file should be set for your system, and it must
13952
de80a367ca08 (dun-cd): Fix local var misspelling.
Karl Heuer <kwzh@gnu.org>
parents: 13076
diff changeset
34 ;;; be writable by all.
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
36
14743
345ee562c72a Require cl only when compiling.
Richard M. Stallman <rms@gnu.org>
parents: 14640
diff changeset
37 (defvar dun-log-file "/usr/local/dunnet.score"
345ee562c72a Require cl only when compiling.
Richard M. Stallman <rms@gnu.org>
parents: 14640
diff changeset
38 "Name of file to store score information for dunnet.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
39
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
40 (if nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
41 (eval-and-compile (setq byte-compile-warnings nil)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
42
14743
345ee562c72a Require cl only when compiling.
Richard M. Stallman <rms@gnu.org>
parents: 14640
diff changeset
43 (eval-when-compile
345ee562c72a Require cl only when compiling.
Richard M. Stallman <rms@gnu.org>
parents: 14640
diff changeset
44 (require 'cl))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
45
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
46 ;;;; Mode definitions for interactive mode
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
47
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
48 (defun dun-mode ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
49 "Major mode for running dunnet."
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
50 (interactive)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
51 (text-mode)
14743
345ee562c72a Require cl only when compiling.
Richard M. Stallman <rms@gnu.org>
parents: 14640
diff changeset
52 (make-local-variable 'scroll-step)
345ee562c72a Require cl only when compiling.
Richard M. Stallman <rms@gnu.org>
parents: 14640
diff changeset
53 (setq scroll-step 2)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
54 (use-local-map dungeon-mode-map)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
55 (setq major-mode 'dungeon-mode)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
56 (setq mode-name "Dungeon"))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
57
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
58 (defun dun-parse (arg)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
59 "Function called when return is pressed in interactive mode to parse line."
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
60 (interactive "*p")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
61 (beginning-of-line)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
62 (setq beg (+ (point) 1))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
63 (end-of-line)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
64 (if (and (not (= beg (point))) (not (< (point) beg))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
65 (string= ">" (buffer-substring (- beg 1) beg)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
66 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
67 (setq line (downcase (buffer-substring beg (point))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
68 (princ line)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
69 (if (eq (dun-vparse dun-ignore dun-verblist line) -1)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
70 (dun-mprinc "I don't understand that.\n")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
71 (goto-char (point-max))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
72 (dun-mprinc "\n"))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
73 (dun-messages))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
74
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
75 (defun dun-messages ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
76 (if dun-dead
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
77 (text-mode)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
78 (if (eq dungeon-mode 'dungeon)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
79 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
80 (if (not (= room dun-current-room))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
81 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
82 (dun-describe-room dun-current-room)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
83 (setq room dun-current-room)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
84 (dun-fix-screen)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
85 (dun-mprinc ">")))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
86
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
87
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
88 ;;;###autoload
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
89 (defun dunnet ()
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
90 "Switch to *dungeon* buffer and start game."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
91 (interactive)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
92 (switch-to-buffer "*dungeon*")
14640
65151464291f (dun-urinate): Renamed.
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
93 (insert "This version of Dunnet has been censored for your protection
65151464291f (dun-urinate): Renamed.
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
94 in accord with the Communications Decency Act.\n\n")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
95 (dun-mode)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
96 (setq dun-dead nil)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
97 (setq room 0)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
98 (dun-messages))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
99
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
100 ;;;;
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
101 ;;;; This section contains all of the verbs and commands.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
102 ;;;;
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
103
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
104 ;;; Give long description of room if haven't been there yet. Otherwise
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
105 ;;; short. Also give long if we were called with negative room number.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
106
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
107 (defun dun-describe-room (room)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
108 (if (and (not (member (abs room) dun-light-rooms))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
109 (not (member obj-lamp dun-inventory)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
110 (dun-mprincl "It is pitch dark. You are likely to be eaten by a grue.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
111 (dun-mprincl (cadr (nth (abs room) dun-rooms)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
112 (if (and (and (or (member room dun-visited)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
113 (string= dun-mode "dun-superb")) (> room 0))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
114 (not (string= dun-mode "long")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
115 nil
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
116 (dun-mprinc (car (nth (abs room) dun-rooms)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
117 (dun-mprinc "\n"))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
118 (if (not (string= dun-mode "long"))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
119 (if (not (member (abs room) dun-visited))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
120 (setq dun-visited (append (list (abs room)) dun-visited))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
121 (dolist (xobjs (nth dun-current-room dun-room-objects))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
122 (if (= xobjs obj-special)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
123 (dun-special-object)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
124 (if (>= xobjs 0)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
125 (dun-mprincl (car (nth xobjs dun-objects)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
126 (if (not (and (= xobjs obj-bus) dun-inbus))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
127 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
128 (dun-mprincl (car (nth (abs xobjs) dun-perm-objects)))))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
129 (if (and (= xobjs obj-jar) dun-jar)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
130 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
131 (dun-mprincl "The jar contains:")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
132 (dolist (x dun-jar)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
133 (dun-mprinc " ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
134 (dun-mprincl (car (nth x dun-objects)))))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
135 (if (and (member obj-bus (nth dun-current-room dun-room-objects)) dun-inbus)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
136 (dun-mprincl "You are on the bus."))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
137
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
138 ;;; There is a special object in the room. This object's description,
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
139 ;;; or lack thereof, depends on certain conditions.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
140
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
141 (defun dun-special-object ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
142 (if (= dun-current-room computer-room)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
143 (if dun-computer
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
144 (dun-mprincl
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
145 "The panel lights are flashing in a seemingly organized pattern.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
146 (dun-mprincl "The panel lights are steady and motionless.")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
147
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
148 (if (and (= dun-current-room red-room)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
149 (not (member obj-towel (nth red-room dun-room-objects))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
150 (dun-mprincl "There is a hole in the floor here."))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
151
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
152 (if (and (= dun-current-room marine-life-area) dun-black)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
153 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
154 "The room is lit by a black light, causing the fish, and some of
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
155 your objects, to give off an eerie glow."))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
156 (if (and (= dun-current-room fourth-vermont-intersection) dun-hole)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
157 (progn
4245
5988aab467cc entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 4193
diff changeset
158 (if (not dun-inbus)
5988aab467cc entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 4193
diff changeset
159 (progn
5988aab467cc entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 4193
diff changeset
160 (dun-mprincl"You fall into a hole in the ground.")
5988aab467cc entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 4193
diff changeset
161 (setq dun-current-room vermont-station)
5988aab467cc entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 4193
diff changeset
162 (dun-describe-room vermont-station))
5988aab467cc entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 4193
diff changeset
163 (progn
5988aab467cc entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 4193
diff changeset
164 (dun-mprincl
5988aab467cc entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 4193
diff changeset
165 "The bus falls down a hole in the ground and explodes.")
5988aab467cc entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 4193
diff changeset
166 (dun-die "burning")))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
167
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
168 (if (> dun-current-room endgame-computer-room)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
169 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
170 (if (not dun-correct-answer)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
171 (dun-endgame-question)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
172 (dun-mprincl "Your question is:")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
173 (dun-mprincl dun-endgame-question))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
174
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
175 (if (= dun-current-room sauna)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
176 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
177 (dun-mprincl (nth dun-sauna-level '(
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
178 "It is normal room temperature in here."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
179 "It is luke warm in here."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
180 "It is comfortably hot in here."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
181 "It is refreshingly hot in here."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
182 "You are dead now.")))
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
183 (if (= dun-sauna-level 3)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
184 (progn
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
185 (if (or (member obj-rms dun-inventory)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
186 (member obj-rms (nth dun-current-room dun-room-objects)))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
187 (progn
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
188 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
189 "You notice the wax on your statuette beginning to melt, until it completely
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
190 melts off. You are left with a beautiful diamond!")
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
191 (if (member obj-rms dun-inventory)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
192 (progn
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
193 (dun-remove-obj-from-inven obj-rms)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
194 (setq dun-inventory (append dun-inventory
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
195 (list obj-diamond))))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
196 (dun-remove-obj-from-room dun-current-room obj-rms)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
197 (dun-replace dun-room-objects dun-current-room
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
198 (append (nth dun-current-room dun-room-objects)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
199 (list obj-diamond))))))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
200 (if (or (member obj-floppy dun-inventory)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
201 (member obj-floppy (nth dun-current-room dun-room-objects)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
202 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
203 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
204 "You notice your floppy disk beginning to melt. As you grab for it, the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
205 disk bursts into flames, and disintegrates.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
206 (dun-remove-obj-from-inven obj-floppy)
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
207 (dun-remove-obj-from-room dun-current-room obj-floppy))))))))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
208
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
209
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
210 (defun dun-die (murderer)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
211 (dun-mprinc "\n")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
212 (if murderer
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
213 (dun-mprincl "You are dead."))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
214 (dun-do-logfile 'dun-die murderer)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
215 (dun-score nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
216 (setq dun-dead t))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
217
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
218 (defun dun-quit (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
219 (dun-die nil))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
220
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
221 ;;; Print every object in player's inventory. Special case for the jar,
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
222 ;;; as we must also print what is in it.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
223
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
224 (defun dun-inven (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
225 (dun-mprinc "You currently have:")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
226 (dun-mprinc "\n")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
227 (dolist (curobj dun-inventory)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
228 (if curobj
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
229 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
230 (dun-mprincl (cadr (nth curobj dun-objects)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
231 (if (and (= curobj obj-jar) dun-jar)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
232 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
233 (dun-mprincl "The jar contains:")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
234 (dolist (x dun-jar)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
235 (dun-mprinc " ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
236 (dun-mprincl (cadr (nth x dun-objects))))))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
237
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
238 (defun dun-shake (obj)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
239 (let (objnum)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
240 (when (setq objnum (dun-objnum-from-args-std obj))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
241 (if (member objnum dun-inventory)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
242 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
243 ;;; If shaking anything will do anything, put here.
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
244 (dun-mprinc "Shaking ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
245 (dun-mprinc (downcase (cadr (nth objnum dun-objects))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
246 (dun-mprinc " seems to have no effect.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
247 (dun-mprinc "\n")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
248 )
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
249 (if (and (not (member objnum (nth dun-current-room dun-room-silents)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
250 (not (member objnum (nth dun-current-room dun-room-objects))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
251 (dun-mprincl "I don't see that here.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
252 ;;; Shaking trees can be deadly
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
253 (if (= objnum obj-tree)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
254 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
255 (dun-mprinc
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
256 "You begin to shake a tree, and notice a coconut begin to fall from the air.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
257 As you try to get your hand up to block it, you feel the impact as it lands
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
258 on your head.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
259 (dun-die "a coconut"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
260 (if (= objnum obj-bear)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
261 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
262 (dun-mprinc
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
263 "As you go up to the bear, it removes your head and places it on the ground.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
264 (dun-die "a bear"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
265 (if (< objnum 0)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
266 (dun-mprincl "You cannot shake that.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
267 (dun-mprincl "You don't have that.")))))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
268
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
269
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
270 (defun dun-drop (obj)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
271 (if dun-inbus
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
272 (dun-mprincl "You can't drop anything while on the bus.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
273 (let (objnum ptr)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
274 (when (setq objnum (dun-objnum-from-args-std obj))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
275 (if (not (setq ptr (member objnum dun-inventory)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
276 (dun-mprincl "You don't have that.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
277 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
278 (dun-remove-obj-from-inven objnum)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
279 (dun-replace dun-room-objects dun-current-room
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
280 (append (nth dun-current-room dun-room-objects)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
281 (list objnum)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
282 (dun-mprincl "Done.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
283 (if (member objnum (list obj-food obj-weight obj-jar))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
284 (dun-drop-check objnum))))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
285
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
286 ;;; Dropping certain things causes things to happen.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
287
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
288 (defun dun-drop-check (objnum)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
289 (if (and (= objnum obj-food) (= room bear-hangout)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
290 (member obj-bear (nth bear-hangout dun-room-objects)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
291 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
292 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
293 "The bear takes the food and runs away with it. He left something behind.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
294 (dun-remove-obj-from-room dun-current-room obj-bear)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
295 (dun-remove-obj-from-room dun-current-room obj-food)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
296 (dun-replace dun-room-objects dun-current-room
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
297 (append (nth dun-current-room dun-room-objects)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
298 (list obj-key)))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
299
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
300 (if (and (= objnum obj-jar) (member obj-nitric dun-jar)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
301 (member obj-glycerine dun-jar))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
302 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
303 (dun-mprincl
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
304 "As the jar impacts the ground it explodes into many pieces.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
305 (setq dun-jar nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
306 (dun-remove-obj-from-room dun-current-room obj-jar)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
307 (if (= dun-current-room fourth-vermont-intersection)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
308 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
309 (setq dun-hole t)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
310 (setq dun-current-room vermont-station)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
311 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
312 "The explosion causes a hole to open up in the ground, which you fall
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
313 through.")))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
314
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
315 (if (and (= objnum obj-weight) (= dun-current-room maze-button-room))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
316 (dun-mprincl "A passageway opens.")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
317
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
318 ;;; Give long description of current room, or an object.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
319
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
320 (defun dun-examine (obj)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
321 (let (objnum)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
322 (setq objnum (dun-objnum-from-args obj))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
323 (if (eq objnum obj-special)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
324 (dun-describe-room (* dun-current-room -1))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
325 (if (and (eq objnum obj-computer)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
326 (member obj-pc (nth dun-current-room dun-room-silents)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
327 (dun-examine '("pc"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
328 (if (eq objnum nil)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
329 (dun-mprincl "I don't know what that is.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
330 (if (and (not (member objnum
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
331 (nth dun-current-room dun-room-objects)))
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
332 (not (and (member obj-jar dun-inventory)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
333 (member objnum dun-jar)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
334 (not (member objnum
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
335 (nth dun-current-room dun-room-silents)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
336 (not (member objnum dun-inventory)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
337 (dun-mprincl "I don't see that here.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
338 (if (>= objnum 0)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
339 (if (and (= objnum obj-bone)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
340 (= dun-current-room marine-life-area) dun-black)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
341 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
342 "In this light you can see some writing on the bone. It says:
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
343 For an explosive time, go to Fourth St. and Vermont.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
344 (if (nth objnum dun-physobj-desc)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
345 (dun-mprincl (nth objnum dun-physobj-desc))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
346 (dun-mprincl "I see nothing special about that.")))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
347 (if (nth (abs objnum) dun-permobj-desc)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
348 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
349 (dun-mprincl (nth (abs objnum) dun-permobj-desc)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
350 (dun-mprincl "I see nothing special about that.")))))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
351
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
352 (defun dun-take (obj)
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
353 (setq obj (dun-firstword obj))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
354 (if (not obj)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
355 (dun-mprincl "You must supply an object.")
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
356 (if (string= obj "all")
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
357 (let (gotsome)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
358 (if dun-inbus
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
359 (dun-mprincl "You can't take anything while on the bus.")
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
360 (setq gotsome nil)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
361 (dolist (x (nth dun-current-room dun-room-objects))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
362 (if (and (>= x 0) (not (= x obj-special)))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
363 (progn
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
364 (setq gotsome t)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
365 (dun-mprinc (cadr (nth x dun-objects)))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
366 (dun-mprinc ": ")
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
367 (dun-take-object x))))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
368 (if (not gotsome)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
369 (dun-mprincl "Nothing to take."))))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
370 (let (objnum)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
371 (setq objnum (cdr (assq (intern obj) dun-objnames)))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
372 (if (eq objnum nil)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
373 (progn
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
374 (dun-mprinc "I don't know what that is.")
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
375 (dun-mprinc "\n"))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
376 (if (and dun-inbus (not (and (member objnum dun-jar)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
377 (member obj-jar dun-inventory))))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
378 (dun-mprincl "You can't take anything while on the bus.")
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
379 (dun-take-object objnum)))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
380
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
381 (defun dun-take-object (objnum)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
382 (if (and (member objnum dun-jar) (member obj-jar dun-inventory))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
383 (let (newjar)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
384 (dun-mprincl "You remove it from the jar.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
385 (setq newjar nil)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
386 (dolist (x dun-jar)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
387 (if (not (= x objnum))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
388 (setq newjar (append newjar (list x)))))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
389 (setq dun-jar newjar)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
390 (setq dun-inventory (append dun-inventory (list objnum))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
391 (if (not (member objnum (nth dun-current-room dun-room-objects)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
392 (if (not (member objnum (nth dun-current-room dun-room-silents)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
393 (dun-mprinc "I do not see that here.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
394 (dun-try-take objnum))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
395 (if (>= objnum 0)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
396 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
397 (if (and (car dun-inventory)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
398 (> (+ (dun-inven-weight) (nth objnum dun-object-lbs)) 11))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
399 (dun-mprinc "Your load would be too heavy.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
400 (setq dun-inventory (append dun-inventory (list objnum)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
401 (dun-remove-obj-from-room dun-current-room objnum)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
402 (dun-mprinc "Taken. ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
403 (if (and (= objnum obj-towel) (= dun-current-room red-room))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
404 (dun-mprinc
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
405 "Taking the towel reveals a hole in the floor."))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
406 (dun-try-take objnum)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
407 (dun-mprinc "\n")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
408
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
409 (defun dun-inven-weight ()
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
410 (let (total)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
411 (setq total 0)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
412 (dolist (x dun-jar)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
413 (setq total (+ total (nth x dun-object-lbs))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
414 (dolist (x dun-inventory)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
415 (setq total (+ total (nth x dun-object-lbs)))) total))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
416
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
417 ;;; We try to take an object that is untakable. Print a message
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
418 ;;; depending on what it is.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
419
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
420 (defun dun-try-take (obj)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
421 (dun-mprinc "You cannot take that."))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
422
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
423 (defun dun-dig (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
424 (if dun-inbus
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
425 (dun-mprincl "Digging here reveals nothing.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
426 (if (not (member 0 dun-inventory))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
427 (dun-mprincl "You have nothing with which to dig.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
428 (if (not (nth dun-current-room dun-diggables))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
429 (dun-mprincl "Digging here reveals nothing.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
430 (dun-mprincl "I think you found something.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
431 (dun-replace dun-room-objects dun-current-room
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
432 (append (nth dun-current-room dun-room-objects)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
433 (nth dun-current-room dun-diggables)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
434 (dun-replace dun-diggables dun-current-room nil)))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
435
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
436 (defun dun-climb (obj)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
437 (let (objnum)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
438 (setq objnum (dun-objnum-from-args obj))
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
439 (cond ((not objnum)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
440 (dun-mprincl "I don't know what that object is."))
13076
b2191b493c1b (dun-climb): Handle unknown object name.
Richard M. Stallman <rms@gnu.org>
parents: 4697
diff changeset
441 ((and (not (eq objnum obj-special))
b2191b493c1b (dun-climb): Handle unknown object name.
Richard M. Stallman <rms@gnu.org>
parents: 4697
diff changeset
442 (not (member objnum (nth dun-current-room dun-room-objects)))
b2191b493c1b (dun-climb): Handle unknown object name.
Richard M. Stallman <rms@gnu.org>
parents: 4697
diff changeset
443 (not (member objnum (nth dun-current-room dun-room-silents)))
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
444 (not (and (member objnum dun-jar) (member obj-jar dun-inventory)))
13076
b2191b493c1b (dun-climb): Handle unknown object name.
Richard M. Stallman <rms@gnu.org>
parents: 4697
diff changeset
445 (not (member objnum dun-inventory)))
b2191b493c1b (dun-climb): Handle unknown object name.
Richard M. Stallman <rms@gnu.org>
parents: 4697
diff changeset
446 (dun-mprincl "I don't see that here."))
b2191b493c1b (dun-climb): Handle unknown object name.
Richard M. Stallman <rms@gnu.org>
parents: 4697
diff changeset
447 ((and (eq objnum obj-special)
b2191b493c1b (dun-climb): Handle unknown object name.
Richard M. Stallman <rms@gnu.org>
parents: 4697
diff changeset
448 (not (member obj-tree (nth dun-current-room dun-room-silents))))
b2191b493c1b (dun-climb): Handle unknown object name.
Richard M. Stallman <rms@gnu.org>
parents: 4697
diff changeset
449 (dun-mprincl "There is nothing here to climb."))
b2191b493c1b (dun-climb): Handle unknown object name.
Richard M. Stallman <rms@gnu.org>
parents: 4697
diff changeset
450 ((and (not (eq objnum obj-tree)) (not (eq objnum obj-special)))
b2191b493c1b (dun-climb): Handle unknown object name.
Richard M. Stallman <rms@gnu.org>
parents: 4697
diff changeset
451 (dun-mprincl "You can't climb that."))
b2191b493c1b (dun-climb): Handle unknown object name.
Richard M. Stallman <rms@gnu.org>
parents: 4697
diff changeset
452 (t
b2191b493c1b (dun-climb): Handle unknown object name.
Richard M. Stallman <rms@gnu.org>
parents: 4697
diff changeset
453 (dun-mprincl
b2191b493c1b (dun-climb): Handle unknown object name.
Richard M. Stallman <rms@gnu.org>
parents: 4697
diff changeset
454 "You manage to get about two feet up the tree and fall back down. You
b2191b493c1b (dun-climb): Handle unknown object name.
Richard M. Stallman <rms@gnu.org>
parents: 4697
diff changeset
455 notice that the tree is very unsteady.")))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
456
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
457 (defun dun-eat (obj)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
458 (let (objnum)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
459 (when (setq objnum (dun-objnum-from-args-std obj))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
460 (if (not (member objnum dun-inventory))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
461 (dun-mprincl "You don't have that.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
462 (if (not (= objnum obj-food))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
463 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
464 (dun-mprinc "You forcefully shove ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
465 (dun-mprinc (downcase (cadr (nth objnum dun-objects))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
466 (dun-mprincl " down your throat, and start choking.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
467 (dun-die "choking"))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
468 (dun-mprincl "That tasted horrible.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
469 (dun-remove-obj-from-inven obj-food))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
470
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
471 (defun dun-put (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
472 (let (newargs objnum objnum2 obj)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
473 (setq newargs (dun-firstwordl args))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
474 (if (not newargs)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
475 (dun-mprincl "You must supply an object")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
476 (setq obj (intern (car newargs)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
477 (setq objnum (cdr (assq obj dun-objnames)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
478 (if (not objnum)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
479 (dun-mprincl "I don't know what that object is.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
480 (if (not (member objnum dun-inventory))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
481 (dun-mprincl "You don't have that.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
482 (setq newargs (dun-firstwordl (cdr newargs)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
483 (setq newargs (dun-firstwordl (cdr newargs)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
484 (if (not newargs)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
485 (dun-mprincl "You must supply an indirect object.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
486 (setq objnum2 (cdr (assq (intern (car newargs)) dun-objnames)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
487 (if (and (eq objnum2 obj-computer) (= dun-current-room pc-area))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
488 (setq objnum2 obj-pc))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
489 (if (not objnum2)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
490 (dun-mprincl "I don't know what that indirect object is.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
491 (if (and (not (member objnum2
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
492 (nth dun-current-room dun-room-objects)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
493 (not (member objnum2
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
494 (nth dun-current-room dun-room-silents)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
495 (not (member objnum2 dun-inventory)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
496 (dun-mprincl "That indirect object is not here.")
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
497 (dun-put-objs objnum objnum2)))))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
498
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
499 (defun dun-put-objs (obj1 obj2)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
500 (if (and (= obj2 obj-drop) (not dun-nomail))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
501 (setq obj2 obj-chute))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
502
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
503 (if (= obj2 obj-disposal) (setq obj2 obj-chute))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
504
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
505 (if (and (= obj1 obj-cpu) (= obj2 obj-computer))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
506 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
507 (dun-remove-obj-from-inven obj-cpu)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
508 (setq dun-computer t)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
509 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
510 "As you put the CPU board in the computer, it immediately springs to life.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
511 The lights start flashing, and the fans seem to startup."))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
512 (if (and (= obj1 obj-weight) (= obj2 obj-button))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
513 (dun-drop '("weight"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
514 (if (= obj2 obj-jar) ;; Put something in jar
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
515 (if (not (member obj1 (list obj-paper obj-diamond obj-emerald
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
516 obj-license obj-coins obj-egg
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
517 obj-nitric obj-glycerine)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
518 (dun-mprincl "That will not fit in the jar.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
519 (dun-remove-obj-from-inven obj1)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
520 (setq dun-jar (append dun-jar (list obj1)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
521 (dun-mprincl "Done."))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
522 (if (= obj2 obj-chute) ;; Put something in chute
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
523 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
524 (dun-remove-obj-from-inven obj1)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
525 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
526 "You hear it slide down the chute and off into the distance.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
527 (dun-put-objs-in-treas (list obj1)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
528 (if (= obj2 obj-box) ;; Put key in key box
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
529 (if (= obj1 obj-key)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
530 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
531 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
532 "As you drop the key, the box begins to shake. Finally it explodes
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
533 with a bang. The key seems to have vanished!")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
534 (dun-remove-obj-from-inven obj1)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
535 (dun-replace dun-room-objects computer-room (append
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
536 (nth computer-room
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
537 dun-room-objects)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
538 (list obj1)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
539 (dun-remove-obj-from-room dun-current-room obj-box)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
540 (setq dun-key-level (1+ dun-key-level)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
541 (dun-mprincl "You can't put that in the key box!"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
542
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
543 (if (and (= obj1 obj-floppy) (= obj2 obj-pc))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
544 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
545 (setq dun-floppy t)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
546 (dun-remove-obj-from-inven obj1)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
547 (dun-mprincl "Done."))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
548
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
549 (if (= obj2 obj-urinal) ;; Put object in urinal
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
550 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
551 (dun-remove-obj-from-inven obj1)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
552 (dun-replace dun-room-objects urinal (append
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
553 (nth urinal dun-room-objects)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
554 (list obj1)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
555 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
556 "You hear it plop down in some water below."))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
557 (if (= obj2 obj-mail)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
558 (dun-mprincl "The mail chute is locked.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
559 (if (member obj1 dun-inventory)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
560 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
561 "I don't know how to combine those objects. Perhaps you should
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
562 just try dropping it.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
563 (dun-mprincl"You can't put that there.")))))))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
564
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
565 (defun dun-type (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
566 (if (not (= dun-current-room computer-room))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
567 (dun-mprincl "There is nothing here on which you could type.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
568 (if (not dun-computer)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
569 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
570 "You type on the keyboard, but your characters do not even echo.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
571 (dun-unix-interface))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
572
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
573 ;;; Various movement directions
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
574
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
575 (defun dun-n (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
576 (dun-move north))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
577
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
578 (defun dun-s (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
579 (dun-move south))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
580
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
581 (defun dun-e (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
582 (dun-move east))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
583
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
584 (defun dun-w (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
585 (dun-move west))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
586
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
587 (defun dun-ne (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
588 (dun-move northeast))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
589
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
590 (defun dun-se (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
591 (dun-move southeast))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
592
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
593 (defun dun-nw (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
594 (dun-move northwest))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
595
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
596 (defun dun-sw (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
597 (dun-move southwest))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
598
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
599 (defun dun-up (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
600 (dun-move up))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
601
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
602 (defun dun-down (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
603 (dun-move down))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
604
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
605 (defun dun-in (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
606 (dun-move in))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
607
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
608 (defun dun-out (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
609 (dun-move out))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
610
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
611 (defun dun-go (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
612 (if (or (not (car args))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
613 (eq (dun-doverb dun-ignore dun-verblist (car args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
614 (cdr (cdr args))) -1))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
615 (dun-mprinc "I don't understand where you want me to go.\n")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
616
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
617 ;;; Uses the dungeon-map to figure out where we are going. If the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
618 ;;; requested direction yields 255, we know something special is
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
619 ;;; supposed to happen, or perhaps you can't go that way unless
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
620 ;;; certain conditions are met.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
621
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
622 (defun dun-move (dir)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
623 (if (and (not (member dun-current-room dun-light-rooms))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
624 (not (member obj-lamp dun-inventory)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
625 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
626 (dun-mprinc
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
627 "You trip over a grue and fall into a pit and break every bone in your
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
628 body.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
629 (dun-die "a grue"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
630 (let (newroom)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
631 (setq newroom (nth dir (nth dun-current-room dungeon-map)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
632 (if (eq newroom -1)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
633 (dun-mprinc "You can't go that way.\n")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
634 (if (eq newroom 255)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
635 (dun-special-move dir)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
636 (setq room -1)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
637 (setq dun-lastdir dir)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
638 (if dun-inbus
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
639 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
640 (if (or (< newroom 58) (> newroom 83))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
641 (dun-mprincl "The bus cannot go this way.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
642 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
643 "The bus lurches ahead and comes to a screeching halt.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
644 (dun-remove-obj-from-room dun-current-room obj-bus)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
645 (setq dun-current-room newroom)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
646 (dun-replace dun-room-objects newroom
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
647 (append (nth newroom dun-room-objects)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
648 (list obj-bus)))))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
649 (setq dun-current-room newroom)))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
650
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
651 ;;; Movement in this direction causes something special to happen if the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
652 ;;; right conditions exist. It may be that you can't go this way unless
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
653 ;;; you have a key, or a passage has been opened.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
654
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
655 ;;; coding note: Each check of the current room is on the same 'if' level,
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
656 ;;; i.e. there aren't else's. If two rooms next to each other have
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
657 ;;; specials, and they are connected by specials, this could cause
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
658 ;;; a problem. Be careful when adding them to consider this, and
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
659 ;;; perhaps use else's.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
660
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
661 (defun dun-special-move (dir)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
662 (if (= dun-current-room building-front)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
663 (if (not (member obj-key dun-inventory))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
664 (dun-mprincl "You don't have a key that can open this door.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
665 (setq dun-current-room old-building-hallway))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
666 (if (= dun-current-room north-end-of-cave-passage)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
667 (let (combo)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
668 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
669 "You must type a 3 digit combination code to enter this room.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
670 (dun-mprinc "Enter it here: ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
671 (setq combo (dun-read-line))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
672 (if (not dun-batch-mode)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
673 (dun-mprinc "\n"))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
674 (if (string= combo dun-combination)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
675 (setq dun-current-room gamma-computing-center)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
676 (dun-mprincl "Sorry, that combination is incorrect."))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
677
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
678 (if (= dun-current-room bear-hangout)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
679 (if (member obj-bear (nth bear-hangout dun-room-objects))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
680 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
681 (dun-mprinc
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
682 "The bear is very annoyed that you would be so presumptuous as to try
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
683 and walk right by it. He tells you so by tearing your head off.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
684 ")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
685 (dun-die "a bear"))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
686 (dun-mprincl "You can't go that way.")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
687
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
688 (if (= dun-current-room vermont-station)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
689 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
690 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
691 "As you board the train it immediately leaves the station. It is a very
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
692 bumpy ride. It is shaking from side to side, and up and down. You
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
693 sit down in one of the chairs in order to be more comfortable.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
694 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
695 "\nFinally the train comes to a sudden stop, and the doors open, and some
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
696 force throws you out. The train speeds away.\n")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
697 (setq dun-current-room museum-station)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
698
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
699 (if (= dun-current-room old-building-hallway)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
700 (if (and (member obj-key dun-inventory)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
701 (> dun-key-level 0))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
702 (setq dun-current-room meadow)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
703 (dun-mprincl "You don't have a key that can open this door.")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
704
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
705 (if (and (= dun-current-room maze-button-room) (= dir northwest))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
706 (if (member obj-weight (nth maze-button-room dun-room-objects))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
707 (setq dun-current-room 18)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
708 (dun-mprincl "You can't go that way.")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
709
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
710 (if (and (= dun-current-room maze-button-room) (= dir up))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
711 (if (member obj-weight (nth maze-button-room dun-room-objects))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
712 (dun-mprincl "You can't go that way.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
713 (setq dun-current-room weight-room)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
714
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
715 (if (= dun-current-room classroom)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
716 (dun-mprincl "The door is locked."))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
717
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
718 (if (or (= dun-current-room lakefront-north)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
719 (= dun-current-room lakefront-south))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
720 (dun-swim nil))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
721
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
722 (if (= dun-current-room reception-area)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
723 (if (not (= dun-sauna-level 3))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
724 (setq dun-current-room health-club-front)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
725 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
726 "As you exit the building, you notice some flames coming out of one of the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
727 windows. Suddenly, the building explodes in a huge ball of fire. The flames
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
728 engulf you, and you burn to death.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
729 (dun-die "burning")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
730
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
731 (if (= dun-current-room red-room)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
732 (if (not (member obj-towel (nth red-room dun-room-objects)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
733 (setq dun-current-room long-n-s-hallway)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
734 (dun-mprincl "You can't go that way.")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
735
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
736 (if (and (> dir down) (> dun-current-room gamma-computing-center)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
737 (< dun-current-room museum-lobby))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
738 (if (not (member obj-bus (nth dun-current-room dun-room-objects)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
739 (dun-mprincl "You can't go that way.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
740 (if (= dir in)
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
741 (if dun-inbus
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
742 (dun-mprincl
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
743 "You are already in the bus!")
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
744 (if (member obj-license dun-inventory)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
745 (progn
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
746 (dun-mprincl
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
747 "You board the bus and get in the driver's seat.")
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
748 (setq dun-nomail t)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
749 (setq dun-inbus t))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
750 (dun-mprincl "You are not licensed for this type of vehicle.")))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
751 (if (not dun-inbus)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
752 (dun-mprincl "You are already off the bus!")
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
753 (dun-mprincl "You hop off the bus.")
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
754 (setq dun-inbus nil))))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
755 (if (= dun-current-room fifth-oaktree-intersection)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
756 (if (not dun-inbus)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
757 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
758 (dun-mprincl "You fall down the cliff and land on your head.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
759 (dun-die "a cliff"))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
760 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
761 "The bus flies off the cliff, and plunges to the bottom, where it explodes.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
762 (dun-die "a bus accident")))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
763 (if (= dun-current-room main-maple-intersection)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
764 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
765 (if (not dun-inbus)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
766 (dun-mprincl "The gate will not open.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
767 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
768 "As the bus approaches, the gate opens and you drive through.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
769 (dun-remove-obj-from-room main-maple-intersection obj-bus)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
770 (dun-replace dun-room-objects museum-entrance
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
771 (append (nth museum-entrance dun-room-objects)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
772 (list obj-bus)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
773 (setq dun-current-room museum-entrance)))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
774 (if (= dun-current-room cave-entrance)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
775 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
776 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
777 "As you enter the room you hear a rumbling noise. You look back to see
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
778 huge rocks sliding down from the ceiling, and blocking your way out.\n")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
779 (setq dun-current-room misty-room)))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
780
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
781 (defun dun-long (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
782 (setq dun-mode "long"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
783
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
784 (defun dun-turn (obj)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
785 (let (objnum direction)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
786 (when (setq objnum (dun-objnum-from-args-std obj))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
787 (if (not (or (member objnum (nth dun-current-room dun-room-objects))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
788 (member objnum (nth dun-current-room dun-room-silents))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
789 (dun-mprincl "I don't see that here.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
790 (if (not (= objnum obj-dial))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
791 (dun-mprincl "You can't turn that.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
792 (setq direction (dun-firstword (cdr obj)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
793 (if (or (not direction)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
794 (not (or (string= direction "clockwise")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
795 (string= direction "counterclockwise"))))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
796 (dun-mprincl "You must indicate clockwise or counterclockwise.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
797 (if (string= direction "clockwise")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
798 (setq dun-sauna-level (+ dun-sauna-level 1))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
799 (setq dun-sauna-level (- dun-sauna-level 1)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
800
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
801 (if (< dun-sauna-level 0)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
802 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
803 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
804 "The dial will not turn further in that direction.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
805 (setq dun-sauna-level 0))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
806 (dun-sauna-heat))))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
807
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
808 (defun dun-sauna-heat ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
809 (if (= dun-sauna-level 0)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
810 (dun-mprincl
13952
de80a367ca08 (dun-cd): Fix local var misspelling.
Karl Heuer <kwzh@gnu.org>
parents: 13076
diff changeset
811 "The temperature has returned to normal room temperature."))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
812 (if (= dun-sauna-level 1)
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
813 (dun-mprincl "It is now luke warm in here. You are perspiring."))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
814 (if (= dun-sauna-level 2)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
815 (dun-mprincl "It is pretty hot in here. It is still very comfortable."))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
816 (if (= dun-sauna-level 3)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
817 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
818 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
819 "It is now very hot. There is something very refreshing about this.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
820 (if (or (member obj-rms dun-inventory)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
821 (member obj-rms (nth dun-current-room dun-room-objects)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
822 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
823 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
824 "You notice the wax on your statuette beginning to melt, until it completely
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
825 melts off. You are left with a beautiful diamond!")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
826 (if (member obj-rms dun-inventory)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
827 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
828 (dun-remove-obj-from-inven obj-rms)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
829 (setq dun-inventory (append dun-inventory
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
830 (list obj-diamond))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
831 (dun-remove-obj-from-room dun-current-room obj-rms)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
832 (dun-replace dun-room-objects dun-current-room
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
833 (append (nth dun-current-room dun-room-objects)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
834 (list obj-diamond))))))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
835 (if (or (member obj-floppy dun-inventory)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
836 (member obj-floppy (nth dun-current-room dun-room-objects)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
837 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
838 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
839 "You notice your floppy disk beginning to melt. As you grab for it, the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
840 disk bursts into flames, and disintegrates.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
841 (if (member obj-floppy dun-inventory)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
842 (dun-remove-obj-from-inven obj-floppy)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
843 (dun-remove-obj-from-room dun-current-room obj-floppy))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
844
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
845 (if (= dun-sauna-level 4)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
846 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
847 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
848 "As the dial clicks into place, you immediately burst into flames.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
849 (dun-die "burning"))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
850
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
851 (defun dun-press (obj)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
852 (let (objnum)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
853 (when (setq objnum (dun-objnum-from-args-std obj))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
854 (if (not (or (member objnum (nth dun-current-room dun-room-objects))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
855 (member objnum (nth dun-current-room dun-room-silents))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
856 (dun-mprincl "I don't see that here.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
857 (if (not (member objnum (list obj-button obj-switch)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
858 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
859 (dun-mprinc "You can't ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
860 (dun-mprinc (car line-list))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
861 (dun-mprincl " that."))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
862 (if (= objnum obj-button)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
863 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
864 "As you press the button, you notice a passageway open up, but
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
865 as you release it, the passageway closes."))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
866 (if (= objnum obj-switch)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
867 (if dun-black
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
868 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
869 (dun-mprincl "The button is now in the off position.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
870 (setq dun-black nil))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
871 (dun-mprincl "The button is now in the on position.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
872 (setq dun-black t))))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
873
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
874 (defun dun-swim (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
875 (if (not (member dun-current-room (list lakefront-north lakefront-south)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
876 (dun-mprincl "I see no water!")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
877 (if (not (member obj-life dun-inventory))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
878 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
879 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
880 "You dive in the water, and at first notice it is quite cold. You then
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
881 start to get used to it as you realize that you never really learned how
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
882 to swim.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
883 (dun-die "drowning"))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
884 (if (= dun-current-room lakefront-north)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
885 (setq dun-current-room lakefront-south)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
886 (setq dun-current-room lakefront-north)))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
887
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
888
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
889 (defun dun-score (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
890 (if (not dun-endgame)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
891 (let (total)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
892 (setq total (dun-reg-score))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
893 (dun-mprinc "You have scored ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
894 (dun-mprinc total)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
895 (dun-mprincl " out of a possible 90 points.") total)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
896 (dun-mprinc "You have scored ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
897 (dun-mprinc (dun-endgame-score))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
898 (dun-mprincl " endgame points out of a possible 110.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
899 (if (= (dun-endgame-score) 110)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
900 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
901 "\n\nCongratulations. You have won. The wizard password is 'moby'"))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
902
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
903 (defun dun-help (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
904 (dun-mprincl
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
905 "Welcome to dunnet (2.01), by Ron Schnell (ronnie@driver-aces.com).
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
906 Here is some useful information (read carefully because there are one
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
907 or more clues in here):
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
908 - If you have a key that can open a door, you do not need to explicitly
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
909 open it. You may just use 'in' or walk in the direction of the door.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
910
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
911 - If you have a lamp, it is always lit.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
912
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
913 - You will not get any points until you manage to get treasures to a certain
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
914 place. Simply finding the treasures is not good enough. There is more
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
915 than one way to get a treasure to the special place. It is also
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
916 important that the objects get to the special place *unharmed* and
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
917 *untarnished*. You can tell if you have successfully transported the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
918 object by looking at your score, as it changes immediately. Note that
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
919 an object can become harmed even after you have received points for it.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
920 If this happens, your score will decrease, and in many cases you can never
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
921 get credit for it again.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
922
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
923 - You can save your game with the 'save' command, and use restore it
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
924 with the 'restore' command.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
925
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
926 - There are no limits on lengths of object names.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
927
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
928 - Directions are: north,south,east,west,northeast,southeast,northwest,
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
929 southwest,up,down,in,out.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
930
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
931 - These can be abbreviated: n,s,e,w,ne,se,nw,sw,u,d,in,out.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
932
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
933 - If you go down a hole in the floor without an aid such as a ladder,
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
934 you probably won't be able to get back up the way you came, if at all.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
935
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
936 - To run this game in batch mode (no emacs window), use:
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
937 emacs -batch -l dunnet
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
938 NOTE: This game *should* be run in batch mode!
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
939
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
940 If you have questions or comments, please contact ronnie@driver-aces.com
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
941 My home page is http://www.driver-aces.com/ronnie.html
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
942 "))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
943
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
944 (defun dun-flush (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
945 (if (not (= dun-current-room bathroom))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
946 (dun-mprincl "I see nothing to flush.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
947 (dun-mprincl "Whoooosh!!")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
948 (dun-put-objs-in-treas (nth urinal dun-room-objects))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
949 (dun-replace dun-room-objects urinal nil)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
950
14640
65151464291f (dun-urinate): Renamed.
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
951 (defun dun-urinate (args)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
952 (if (not (= dun-current-room bathroom))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
953 (dun-mprincl "You can't do that here, don't even bother trying.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
954 (if (not dun-gottago)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
955 (dun-mprincl "I'm afraid you don't have to go now.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
956 (dun-mprincl "That was refreshing.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
957 (setq dun-gottago nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
958 (dun-replace dun-room-objects urinal (append
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
959 (nth urinal dun-room-objects)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
960 (list obj-URINE))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
961
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
962
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
963 (defun dun-sleep (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
964 (if (not (= dun-current-room bedroom))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
965 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
966 "You try to go to sleep while standing up here, but can't seem to do it.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
967 (setq dun-gottago t)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
968 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
969 "As soon as you start to doze off you begin dreaming. You see images of
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
970 workers digging caves, slaving in the humid heat. Then you see yourself
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
971 as one of these workers. While no one is looking, you leave the group
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
972 and walk into a room. The room is bare except for a horseshoe
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
973 shaped piece of stone in the center. You see yourself digging a hole in
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
974 the ground, then putting some kind of treasure in it, and filling the hole
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
975 with dirt again. After this, you immediately wake up.")))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
976
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
977 (defun dun-break (obj)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
978 (let (objnum)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
979 (if (not (member obj-axe dun-inventory))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
980 (dun-mprincl "You have nothing you can use to break things.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
981 (when (setq objnum (dun-objnum-from-args-std obj))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
982 (if (member objnum dun-inventory)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
983 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
984 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
985 "You take the object in your hands and swing the axe. Unfortunately, you miss
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
986 the object and slice off your hand. You bleed to death.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
987 (dun-die "an axe"))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
988 (if (not (or (member objnum (nth dun-current-room dun-room-objects))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
989 (member objnum
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
990 (nth dun-current-room dun-room-silents))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
991 (dun-mprincl "I don't see that here.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
992 (if (= objnum obj-cable)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
993 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
994 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
995 "As you break the ethernet cable, everything starts to blur. You collapse
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
996 for a moment, then straighten yourself up.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
997 ")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
998 (dun-replace dun-room-objects gamma-computing-center
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
999 (append
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1000 (nth gamma-computing-center dun-room-objects)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1001 dun-inventory))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1002 (if (member obj-key dun-inventory)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1003 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1004 (setq dun-inventory (list obj-key))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1005 (dun-remove-obj-from-room
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1006 gamma-computing-center obj-key))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1007 (setq dun-inventory nil))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1008 (setq dun-current-room computer-room)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1009 (setq dun-ethernet nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1010 (dun-mprincl "Connection closed.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1011 (dun-unix-interface))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1012 (if (< objnum 0)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1013 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1014 (dun-mprincl "Your axe shatters into a million pieces.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1015 (dun-remove-obj-from-inven obj-axe))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1016 (dun-mprincl "Your axe breaks it into a million pieces.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1017 (dun-remove-obj-from-room dun-current-room objnum)))))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1018
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1019 (defun dun-drive (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1020 (if (not dun-inbus)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1021 (dun-mprincl "You cannot drive when you aren't in a vehicle.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1022 (dun-mprincl "To drive while you are in the bus, just give a direction.")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1023
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1024 (defun dun-superb (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1025 (setq dun-mode 'dun-superb))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1026
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1027 (defun dun-reg-score ()
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1028 (let (total)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1029 (setq total 0)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1030 (dolist (x (nth treasure-room dun-room-objects))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1031 (setq total (+ total (nth x dun-object-pts))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1032 (if (member obj-URINE (nth treasure-room dun-room-objects))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1033 (setq total 0)) total))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1034
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1035 (defun dun-endgame-score ()
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1036 (let (total)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1037 (setq total 0)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1038 (dolist (x (nth endgame-treasure-room dun-room-objects))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1039 (setq total (+ total (nth x dun-object-pts)))) total))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1040
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1041 (defun dun-answer (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1042 (if (not dun-correct-answer)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1043 (dun-mprincl "I don't believe anyone asked you anything.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1044 (setq args (car args))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1045 (if (not args)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1046 (dun-mprincl "You must give the answer on the same line.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1047 (if (dun-members args dun-correct-answer)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1048 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1049 (dun-mprincl "Correct.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1050 (if (= dun-lastdir 0)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1051 (setq dun-current-room (1+ dun-current-room))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1052 (setq dun-current-room (- dun-current-room 1)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1053 (setq dun-correct-answer nil))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1054 (dun-mprincl "That answer is incorrect.")))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1055
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1056 (defun dun-endgame-question ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1057 (if (not dun-endgame-questions)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1058 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1059 (dun-mprincl "Your question is:")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1060 (dun-mprincl "No more questions, just do 'answer foo'.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1061 (setq dun-correct-answer '("foo")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1062 (let (which i newques)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1063 (setq i 0)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1064 (setq newques nil)
4403
2d6328c324cd (dun-endgame-question, tcom, tloc):
Paul Eggert <eggert@twinsun.com>
parents: 4245
diff changeset
1065 (setq which (random (length dun-endgame-questions)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1066 (dun-mprincl "Your question is:")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1067 (dun-mprincl (setq dun-endgame-question (car
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1068 (nth which
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1069 dun-endgame-questions))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1070 (setq dun-correct-answer (cdr (nth which dun-endgame-questions)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1071 (while (< i which)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1072 (setq newques (append newques (list (nth i dun-endgame-questions))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1073 (setq i (1+ i)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1074 (setq i (1+ which))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1075 (while (< i (length dun-endgame-questions))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1076 (setq newques (append newques (list (nth i dun-endgame-questions))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1077 (setq i (1+ i)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1078 (setq dun-endgame-questions newques))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1079
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1080 (defun dun-power (args)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1081 (if (not (= dun-current-room pc-area))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1082 (dun-mprincl "That operation is not applicable here.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1083 (if (not dun-floppy)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1084 (dun-dos-no-disk)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1085 (dun-dos-interface))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1086
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1087 (defun dun-feed (args)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1088 (let (objnum)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1089 (when (setq objnum (dun-objnum-from-args-std args))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1090 (if (and (= objnum obj-bear)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1091 (member obj-bear (nth dun-current-room dun-room-objects)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1092 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1093 (if (not (member obj-food dun-inventory))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1094 (dun-mprincl "You have nothing with which to feed it.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1095 (dun-drop '("food"))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1096 (if (not (or (member objnum (nth dun-current-room dun-room-objects))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1097 (member objnum dun-inventory)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1098 (member objnum (nth dun-current-room dun-room-silents))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1099 (dun-mprincl "I don't see that here.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1100 (dun-mprincl "You cannot feed that."))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1101
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1102
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1103 ;;;;
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1104 ;;;; This section defines various utility functions used
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1105 ;;;; by dunnet.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1106 ;;;;
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1107
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1108
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1109 ;;; Function which takes a verb and a list of other words. Calls proper
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1110 ;;; function associated with the verb, and passes along the other words.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1111
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1112 (defun dun-doverb (dun-ignore dun-verblist verb rest)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1113 (if (not verb)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1114 nil
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1115 (if (member (intern verb) dun-ignore)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1116 (if (not (car rest)) -1
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1117 (dun-doverb dun-ignore dun-verblist (car rest) (cdr rest)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1118 (if (not (cdr (assq (intern verb) dun-verblist))) -1
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1119 (setq dun-numcmds (1+ dun-numcmds))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1120 (eval (list (cdr (assq (intern verb) dun-verblist)) (quote rest)))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1121
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1122
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1123 ;;; Function to take a string and change it into a list of lowercase words.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1124
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1125 (defun dun-listify-string (strin)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1126 (let (pos ret-list end-pos)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1127 (setq pos 0)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1128 (setq ret-list nil)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1129 (while (setq end-pos (string-match "[ ,:;]" (substring strin pos)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1130 (setq end-pos (+ end-pos pos))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1131 (if (not (= end-pos pos))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1132 (setq ret-list (append ret-list (list
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1133 (downcase
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1134 (substring strin pos end-pos))))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1135 (setq pos (+ end-pos 1))) ret-list))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1136
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1137 (defun dun-listify-string2 (strin)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1138 (let (pos ret-list end-pos)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1139 (setq pos 0)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1140 (setq ret-list nil)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1141 (while (setq end-pos (string-match " " (substring strin pos)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1142 (setq end-pos (+ end-pos pos))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1143 (if (not (= end-pos pos))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1144 (setq ret-list (append ret-list (list
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1145 (downcase
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1146 (substring strin pos end-pos))))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1147 (setq pos (+ end-pos 1))) ret-list))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1148
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1149 (defun dun-replace (list n number)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1150 (rplaca (nthcdr n list) number))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1151
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1152
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1153 ;;; Get the first non-ignored word from a list.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1154
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1155 (defun dun-firstword (list)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1156 (if (not (car list))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1157 nil
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1158 (while (and list (member (intern (car list)) dun-ignore))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1159 (setq list (cdr list)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1160 (car list)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1161
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1162 (defun dun-firstwordl (list)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1163 (if (not (car list))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1164 nil
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1165 (while (and list (member (intern (car list)) dun-ignore))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1166 (setq list (cdr list)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1167 list))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1168
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1169 ;;; parse a line passed in as a string Call the proper verb with the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1170 ;;; rest of the line passed in as a list.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1171
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1172 (defun dun-vparse (dun-ignore dun-verblist line)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1173 (dun-mprinc "\n")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1174 (setq line-list (dun-listify-string (concat line " ")))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1175 (dun-doverb dun-ignore dun-verblist (car line-list) (cdr line-list)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1176
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1177 (defun dun-parse2 (dun-ignore dun-verblist line)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1178 (dun-mprinc "\n")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1179 (setq line-list (dun-listify-string2 (concat line " ")))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1180 (dun-doverb dun-ignore dun-verblist (car line-list) (cdr line-list)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1181
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1182 ;;; Read a line, in window mode
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1183
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1184 (defun dun-read-line ()
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1185 (let (line)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1186 (setq line (read-string ""))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1187 (dun-mprinc line) line))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1188
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1189 ;;; Insert something into the window buffer
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1190
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1191 (defun dun-minsert (string)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1192 (if (stringp string)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1193 (insert string)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1194 (insert (prin1-to-string string))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1195
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1196 ;;; Print something out, in window mode
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1197
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1198 (defun dun-mprinc (string)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1199 (if (stringp string)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1200 (insert string)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1201 (insert (prin1-to-string string))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1202
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1203 ;;; In window mode, keep screen from jumping by keeping last line at
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1204 ;;; the bottom of the screen.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1205
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1206 (defun dun-fix-screen ()
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1207 (interactive)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1208 (forward-line (- 0 (- (window-height) 2 )))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1209 (set-window-start (selected-window) (point))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1210 (end-of-buffer))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1211
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1212 ;;; Insert something into the buffer, followed by newline.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1213
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1214 (defun dun-minsertl (string)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1215 (dun-minsert string)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1216 (dun-minsert "\n"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1217
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1218 ;;; Print something, followed by a newline.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1219
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1220 (defun dun-mprincl (string)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1221 (dun-mprinc string)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1222 (dun-mprinc "\n"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1223
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1224 ;;; Function which will get an object number given the list of
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1225 ;;; words in the command, except for the verb.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1226
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1227 (defun dun-objnum-from-args (obj)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1228 (let (objnum)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1229 (setq obj (dun-firstword obj))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1230 (if (not obj)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1231 obj-special
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1232 (setq objnum (cdr (assq (intern obj) dun-objnames))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1233
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1234 (defun dun-objnum-from-args-std (obj)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1235 (let (result)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1236 (if (eq (setq result (dun-objnum-from-args obj)) obj-special)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1237 (dun-mprincl "You must supply an object."))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1238 (if (eq result nil)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1239 (dun-mprincl "I don't know what that is."))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1240 (if (eq result obj-special)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1241 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1242 result)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1243
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1244 ;;; Take a short room description, and change spaces and slashes to dashes.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1245
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1246 (defun dun-space-to-hyphen (string)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1247 (let (space)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1248 (if (setq space (string-match "[ /]" string))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1249 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1250 (setq string (concat (substring string 0 space) "-"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1251 (substring string (1+ space))))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1252 (dun-space-to-hyphen string))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1253 string)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1254
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1255 ;;; Given a unix style pathname, build a list of path components (recursive)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1256
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1257 (defun dun-get-path (dirstring startlist)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1258 (let (slash pos)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1259 (if (= (length dirstring) 0)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1260 startlist
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1261 (if (string= (substring dirstring 0 1) "/")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1262 (dun-get-path (substring dirstring 1) (append startlist (list "/")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1263 (if (not (setq slash (string-match "/" dirstring)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1264 (append startlist (list dirstring))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1265 (dun-get-path (substring dirstring (1+ slash))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1266 (append startlist
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1267 (list (substring dirstring 0 slash)))))))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1268
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1269
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1270 ;;; Is a string a member of a string list?
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1271
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1272 (defun dun-members (string string-list)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1273 (let (found)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1274 (setq found nil)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1275 (dolist (x string-list)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1276 (if (string= x string)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1277 (setq found t))) found))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1278
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1279 ;;; Function to put objects in the treasure room. Also prints current
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1280 ;;; score to let user know he has scored.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1281
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1282 (defun dun-put-objs-in-treas (objlist)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1283 (let (oscore newscore)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1284 (setq oscore (dun-reg-score))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1285 (dun-replace dun-room-objects 0 (append (nth 0 dun-room-objects) objlist))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1286 (setq newscore (dun-reg-score))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1287 (if (not (= oscore newscore))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1288 (dun-score nil))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1289
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1290 ;;; Load an encrypted file, and eval it.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1291
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1292 (defun dun-load-d (filename)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1293 (let (old-buffer result)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1294 (setq result t)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1295 (setq old-buffer (current-buffer))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1296 (switch-to-buffer (get-buffer-create "*loadc*"))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1297 (erase-buffer)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1298 (condition-case nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1299 (insert-file-contents filename)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1300 (error (setq result nil)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1301 (unless (not result)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1302 (condition-case nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1303 (dun-rot13)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1304 (error (yank)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1305 (eval-current-buffer)
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
1306 (kill-buffer (current-buffer)))
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
1307 (switch-to-buffer old-buffer)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1308 result))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1309
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1310 ;;; Functions to remove an object either from a room, or from inventory.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1311
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1312 (defun dun-remove-obj-from-room (room objnum)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1313 (let (newroom)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1314 (setq newroom nil)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1315 (dolist (x (nth room dun-room-objects))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1316 (if (not (= x objnum))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1317 (setq newroom (append newroom (list x)))))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1318 (rplaca (nthcdr room dun-room-objects) newroom)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1319
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1320 (defun dun-remove-obj-from-inven (objnum)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1321 (let (new-inven)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1322 (setq new-inven nil)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1323 (dolist (x dun-inventory)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1324 (if (not (= x objnum))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1325 (setq new-inven (append new-inven (list x)))))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1326 (setq dun-inventory new-inven)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1327
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1328
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1329 (let ((i 0) (lower "abcdefghijklmnopqrstuvwxyz") upper)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1330 (setq dun-translate-table (make-vector 256 0))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1331 (while (< i 256)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1332 (aset dun-translate-table i i)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1333 (setq i (1+ i)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1334 (setq lower (concat lower lower))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1335 (setq upper (upcase lower))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1336 (setq i 0)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1337 (while (< i 26)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1338 (aset dun-translate-table (+ ?a i) (aref lower (+ i 13)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1339 (aset dun-translate-table (+ ?A i) (aref upper (+ i 13)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1340 (setq i (1+ i))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1341
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1342 (defun dun-rot13 ()
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1343 (let (str len (i 0))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1344 (setq str (buffer-substring (point-min) (point-max)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1345 (setq len (length str))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1346 (while (< i len)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1347 (aset str i (aref dun-translate-table (aref str i)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1348 (setq i (1+ i)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1349 (erase-buffer)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1350 (insert str)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1351
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1352 ;;;;
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1353 ;;;; This section defines the globals that are used in dunnet.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1354 ;;;;
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1355 ;;;; IMPORTANT
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1356 ;;;; All globals which can change must be saved from 'save-game. Add
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1357 ;;;; all new globals to bottom of file.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1358
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1359 (setq dun-visited '(27))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1360 (setq dun-current-room 1)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1361 (setq dun-exitf nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1362 (setq dun-badcd nil)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1363 (defvar dungeon-mode-map nil)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1364 (setq dungeon-mode-map (make-sparse-keymap))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1365 (define-key dungeon-mode-map "\r" 'dun-parse)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1366 (defvar dungeon-batch-map (make-keymap))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1367 (if (string= (substring emacs-version 0 2) "18")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1368 (let (n)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1369 (setq n 32)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1370 (while (< 0 (setq n (- n 1)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1371 (aset dungeon-batch-map n 'dungeon-nil)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1372 (let (n)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1373 (setq n 32)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1374 (while (< 0 (setq n (- n 1)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1375 (aset (car (cdr dungeon-batch-map)) n 'dungeon-nil))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1376 (define-key dungeon-batch-map "\r" 'exit-minibuffer)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1377 (define-key dungeon-batch-map "\n" 'exit-minibuffer)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1378 (setq dun-computer nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1379 (setq dun-floppy nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1380 (setq dun-key-level 0)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1381 (setq dun-hole nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1382 (setq dun-correct-answer nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1383 (setq dun-lastdir 0)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1384 (setq dun-numsaves 0)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1385 (setq dun-jar nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1386 (setq dun-dead nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1387 (setq room 0)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1388 (setq dun-numcmds 0)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1389 (setq dun-wizard nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1390 (setq dun-endgame-question nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1391 (setq dun-logged-in nil)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1392 (setq dungeon-mode 'dungeon)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1393 (setq dun-unix-verbs '((ls . dun-ls) (ftp . dun-ftp) (echo . dun-echo)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1394 (exit . dun-uexit) (cd . dun-cd) (pwd . dun-pwd)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1395 (rlogin . dun-rlogin) (uncompress . dun-uncompress)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1396 (cat . dun-cat) (zippy . dun-zippy)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1397
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1398 (setq dun-dos-verbs '((dir . dun-dos-dir) (type . dun-dos-type)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1399 (exit . dun-dos-exit) (command . dun-dos-spawn)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1400 (b: . dun-dos-invd) (c: . dun-dos-invd)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1401 (a: . dun-dos-nil)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1402
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1403
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1404 (setq dun-batch-mode nil)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1405
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1406 (setq dun-cdpath "/usr/toukmond")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1407 (setq dun-cdroom -10)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1408 (setq dun-uncompressed nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1409 (setq dun-ethernet t)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1410 (setq dun-restricted
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1411 '(dun-room-objects dungeon-map dun-rooms
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1412 dun-room-silents dun-combination))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1413 (setq dun-ftptype 'ascii)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1414 (setq dun-endgame nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1415 (setq dun-gottago t)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1416 (setq dun-black nil)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1417
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1418 (setq dun-rooms '(
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1419 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1420 "You are in the treasure room. A door leads out to the north."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1421 "Treasure room"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1422 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1423 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1424 "You are at a dead end of a dirt road. The road goes to the east.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1425 In the distance you can see that it will eventually fork off. The
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1426 trees here are very tall royal palms, and they are spaced equidistant
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1427 from each other."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1428 "Dead end"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1429 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1430 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1431 "You are on the continuation of a dirt road. There are more trees on
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1432 both sides of you. The road continues to the east and west."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1433 "E/W Dirt road"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1434 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1435 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1436 "You are at a fork of two passages, one to the northeast, and one to the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1437 southeast. The ground here seems very soft. You can also go back west."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1438 "Fork"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1439 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1440 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1441 "You are on a northeast/southwest road."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1442 "NE/SW road"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1443 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1444 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1445 "You are at the end of the road. There is a building in front of you
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1446 to the northeast, and the road leads back to the southwest."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1447 "Building front"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1448 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1449 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1450 "You are on a southeast/northwest road."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1451 "SE/NW road"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1452 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1453 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1454 "You are standing at the end of a road. A passage leads back to the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1455 northwest."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1456 "Bear hangout"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1457 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1458 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1459 "You are in the hallway of an old building. There are rooms to the east
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1460 and west, and doors leading out to the north and south."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1461 "Old Building hallway"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1462 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1463 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1464 "You are in a mailroom. There are many bins where the mail is usually
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1465 kept. The exit is to the west."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1466 "Mailroom"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1467 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1468 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1469 "You are in a computer room. It seems like most of the equipment has
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1470 been removed. There is a VAX 11/780 in front of you, however, with
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1471 one of the cabinets wide open. A sign on the front of the machine
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1472 says: This VAX is named 'pokey'. To type on the console, use the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1473 'type' command. The exit is to the east."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1474 "Computer room"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1475 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1476 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1477 "You are in a meadow in the back of an old building. A small path leads
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1478 to the west, and a door leads to the south."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1479 "Meadow"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1480 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1481 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1482 "You are in a round, stone room with a door to the east. There
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1483 is a sign on the wall that reads: 'receiving room'."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1484 "Receiving room"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1485 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1486 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1487 "You are at the south end of a hallway that leads to the north. There
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1488 are rooms to the east and west."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1489 "Northbound Hallway"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1490 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1491 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1492 "You are in a sauna. There is nothing in the room except for a dial
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1493 on the wall. A door leads out to west."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1494 "Sauna"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1495 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1496 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1497 "You are at the end of a north/south hallway. You can go back to the south,
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1498 or off to a room to the east."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1499 "End of N/S Hallway"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1500 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1501 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1502 "You are in an old weight room. All of the equipment is either destroyed
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1503 or completely broken. There is a door out to the west, and there is a ladder
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1504 leading down a hole in the floor."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1505 "Weight room" ;16
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1506 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1507 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1508 "You are in a maze of twisty little passages, all alike.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1509 There is a button on the ground here."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1510 "Maze button room"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1511 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1512 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1513 "You are in a maze of little twisty passages, all alike."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1514 "Maze"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1515 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1516 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1517 "You are in a maze of thirsty little passages, all alike."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1518 "Maze" ;19
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1519 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1520 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1521 "You are in a maze of twenty little passages, all alike."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1522 "Maze"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1523 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1524 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1525 "You are in a daze of twisty little passages, all alike."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1526 "Maze" ;21
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1527 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1528 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1529 "You are in a maze of twisty little cabbages, all alike."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1530 "Maze" ;22
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1531 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1532 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1533 "You are in a reception area for a health and fitness center. The place
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1534 appears to have been recently ransacked, and nothing is left. There is
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1535 a door out to the south, and a crawlspace to the southeast."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1536 "Reception area"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1537 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1538 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1539 "You are outside a large building to the north which used to be a health
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1540 and fitness center. A road leads to the south."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1541 "Health Club front"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1542 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1543 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1544 "You are at the north side of a lake. On the other side you can see
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1545 a road which leads to a cave. The water appears very deep."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1546 "Lakefront North"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1547 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1548 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1549 "You are at the south side of a lake. A road goes to the south."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1550 "Lakefront South"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1551 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1552 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1553 "You are in a well-hidden area off to the side of a road. Back to the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1554 northeast through the brush you can see the bear hangout."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1555 "Hidden area"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1556 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1557 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1558 "The entrance to a cave is to the south. To the north, a road leads
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1559 towards a deep lake. On the ground nearby there is a chute, with a sign
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1560 that says 'put treasures here for points'."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1561 "Cave Entrance" ;28
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1562 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1563 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1564 "You are in a misty, humid room carved into a mountain.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1565 To the north is the remains of a rockslide. To the east, a small
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1566 passage leads away into the darkness." ;29
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1567 "Misty Room"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1568 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1569 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1570 "You are in an east/west passageway. The walls here are made of
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1571 multicolored rock and are quite beautiful."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1572 "Cave E/W passage" ;30
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1573 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1574 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1575 "You are at the junction of two passages. One goes north/south, and
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1576 the other goes west."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1577 "N/S/W Junction" ;31
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1578 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1579 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1580 "You are at the north end of a north/south passageway. There are stairs
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1581 leading down from here. There is also a door leading west."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1582 "North end of cave passage" ;32
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1583 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1584 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1585 "You are at the south end of a north/south passageway. There is a hole
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1586 in the floor here, into which you could probably fit."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1587 "South end of cave passage" ;33
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1588 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1589 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1590 "You are in what appears to be a worker's bedroom. There is a queen-
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1591 sized bed in the middle of the room, and a painting hanging on the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1592 wall. A door leads to another room to the south, and stairways
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1593 lead up and down."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1594 "Bedroom" ;34
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1595 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1596 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1597 "You are in a bathroom built for workers in the cave. There is a
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1598 urinal hanging on the wall, and some exposed pipes on the opposite
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1599 wall where a sink used to be. To the north is a bedroom."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1600 "Bathroom" ;35
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1601 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1602 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1603 "This is a marker for the urinal. User will not see this, but it
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1604 is a room that can contain objects."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1605 "Urinal" ;36
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1606 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1607 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1608 "You are at the northeast end of a northeast/southwest passageway.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1609 Stairs lead up out of sight."
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
1610 "NE end of NE/SW cave passage" ;37
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1611 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1612 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1613 "You are at the junction of northeast/southwest and east/west passages."
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
1614 "NE/SW-E/W junction" ;38
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1615 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1616 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1617 "You are at the southwest end of a northeast/southwest passageway."
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
1618 "SW end of NE/SW cave passage" ;39
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1619 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1620 (
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
1621 "You are at the east end of an E/W passage. There are stairs leading up
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1622 to a room above."
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
1623 "East end of E/W cave passage" ;40
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1624 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1625 (
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
1626 "You are at the west end of an E/W passage. There is a hole on the ground
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1627 which leads down out of sight."
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
1628 "West end of E/W cave passage" ;41
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1629 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1630 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1631 "You are in a room which is bare, except for a horseshoe shaped boulder
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1632 in the center. Stairs lead down from here." ;42
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1633 "Horseshoe boulder room"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1634 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1635 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1636 "You are in a room which is completely empty. Doors lead out to the north
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1637 and east."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1638 "Empty room" ;43
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1639 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1640 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1641 "You are in an empty room. Interestingly enough, the stones in this
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1642 room are painted blue. Doors lead out to the east and south." ;44
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1643 "Blue room"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1644 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1645 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1646 "You are in an empty room. Interestingly enough, the stones in this
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1647 room are painted yellow. Doors lead out to the south and west." ;45
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1648 "Yellow room"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1649 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1650 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1651 "You are in an empty room. Interestingly enough, the stones in this room
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1652 are painted red. Doors lead out to the west and north."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1653 "Red room" ;46
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1654 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1655 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1656 "You are in the middle of a long north/south hallway." ;47
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1657 "Long n/s hallway"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1658 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1659 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1660 "You are 3/4 of the way towards the north end of a long north/south hallway."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1661 "3/4 north" ;48
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1662 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1663 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1664 "You are at the north end of a long north/south hallway. There are stairs
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1665 leading upwards."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1666 "North end of long hallway" ;49
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1667 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1668 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1669 "You are 3/4 of the way towards the south end of a long north/south hallway."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1670 "3/4 south" ;50
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1671 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1672 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1673 "You are at the south end of a long north/south hallway. There is a hole
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1674 to the south."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1675 "South end of long hallway" ;51
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1676 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1677 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1678 "You are at a landing in a stairwell which continues up and down."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1679 "Stair landing" ;52
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1680 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1681 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1682 "You are at the continuation of an up/down staircase."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1683 "Up/down staircase" ;53
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1684 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1685 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1686 "You are at the top of a staircase leading down. A crawlway leads off
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1687 to the northeast."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1688 "Top of staircase." ;54
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1689 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1690 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1691 "You are in a crawlway that leads northeast or southwest."
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
1692 "NE crawlway" ;55
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1693 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1694 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1695 "You are in a small crawlspace. There is a hole in the ground here, and
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1696 a small passage back to the southwest."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1697 "Small crawlspace" ;56
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1698 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1699 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1700 "You are in the Gamma Computing Center. An IBM 3090/600s is whirring
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1701 away in here. There is an ethernet cable coming out of one of the units,
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1702 and going through the ceiling. There is no console here on which you
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1703 could type."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1704 "Gamma computing center" ;57
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1705 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1706 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1707 "You are near the remains of a post office. There is a mail drop on the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1708 face of the building, but you cannot see where it leads. A path leads
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1709 back to the east, and a road leads to the north."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1710 "Post office" ;58
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1711 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1712 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1713 "You are at the intersection of Main Street and Maple Ave. Main street
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1714 runs north and south, and Maple Ave runs east off into the distance.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1715 If you look north and east you can see many intersections, but all of
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1716 the buildings that used to stand here are gone. Nothing remains except
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1717 street signs.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1718 There is a road to the northwest leading to a gate that guards a building."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1719 "Main-Maple intersection" ;59
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1720 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1721 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1722 "You are at the intersection of Main Street and the west end of Oaktree Ave."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1723 "Main-Oaktree intersection" ;60
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1724 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1725 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1726 "You are at the intersection of Main Street and the west end of Vermont Ave."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1727 "Main-Vermont intersection" ;61
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1728 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1729 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1730 "You are at the north end of Main Street at the west end of Sycamore Ave." ;62
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1731 "Main-Sycamore intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1732 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1733 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1734 "You are at the south end of First Street at Maple Ave." ;63
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1735 "First-Maple intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1736 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1737 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1738 "You are at the intersection of First Street and Oaktree Ave." ;64
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1739 "First-Oaktree intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1740 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1741 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1742 "You are at the intersection of First Street and Vermont Ave." ;65
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1743 "First-Vermont intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1744 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1745 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1746 "You are at the north end of First Street at Sycamore Ave." ;66
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1747 "First-Sycamore intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1748 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1749 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1750 "You are at the south end of Second Street at Maple Ave." ;67
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1751 "Second-Maple intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1752 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1753 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1754 "You are at the intersection of Second Street and Oaktree Ave." ;68
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1755 "Second-Oaktree intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1756 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1757 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1758 "You are at the intersection of Second Street and Vermont Ave." ;69
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1759 "Second-Vermont intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1760 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1761 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1762 "You are at the north end of Second Street at Sycamore Ave." ;70
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1763 "Second-Sycamore intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1764 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1765 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1766 "You are at the south end of Third Street at Maple Ave." ;71
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1767 "Third-Maple intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1768 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1769 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1770 "You are at the intersection of Third Street and Oaktree Ave." ;72
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1771 "Third-Oaktree intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1772 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1773 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1774 "You are at the intersection of Third Street and Vermont Ave." ;73
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1775 "Third-Vermont intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1776 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1777 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1778 "You are at the north end of Third Street at Sycamore Ave." ;74
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1779 "Third-Sycamore intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1780 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1781 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1782 "You are at the south end of Fourth Street at Maple Ave." ;75
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1783 "Fourth-Maple intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1784 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1785 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1786 "You are at the intersection of Fourth Street and Oaktree Ave." ;76
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1787 "Fourth-Oaktree intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1788 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1789 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1790 "You are at the intersection of Fourth Street and Vermont Ave." ;77
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1791 "Fourth-Vermont intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1792 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1793 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1794 "You are at the north end of Fourth Street at Sycamore Ave." ;78
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1795 "Fourth-Sycamore intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1796 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1797 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1798 "You are at the south end of Fifth Street at the east end of Maple Ave." ;79
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1799 "Fifth-Maple intersection"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1800 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1801 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1802 "You are at the intersection of Fifth Street and the east end of Oaktree Ave.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1803 There is a cliff off to the east."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1804 "Fifth-Oaktree intersection" ;80
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1805 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1806 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1807 "You are at the intersection of Fifth Street and the east end of Vermont Ave."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1808 "Fifth-Vermont intersection" ;81
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1809 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1810 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1811 "You are at the north end of Fifth Street and the east end of Sycamore Ave."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1812 "Fifth-Sycamore intersection" ;82
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1813 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1814 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1815 "You are in front of the Museum of Natural History. A door leads into
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1816 the building to the north, and a road leads to the southeast."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1817 "Museum entrance" ;83
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1818 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1819 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1820 "You are in the main lobby for the Museum of Natural History. In the center
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1821 of the room is the huge skeleton of a dinosaur. Doors lead out to the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1822 south and east."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1823 "Museum lobby" ;84
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1824 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1825 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1826 "You are in the geological display. All of the objects that used to
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1827 be on display are missing. There are rooms to the east, west, and
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1828 north."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1829 "Geological display" ;85
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1830 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1831 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1832 "You are in the marine life area. The room is filled with fish tanks,
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1833 which are filled with dead fish that have apparently died due to
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1834 starvation. Doors lead out to the south and east."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1835 "Marine life area" ;86
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1836 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1837 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1838 "You are in some sort of maintenance room for the museum. There is a
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1839 switch on the wall labeled 'BL'. There are doors to the west and north."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1840 "Maintenance room" ;87
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1841 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1842 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1843 "You are in a classroom where school children were taught about natural
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1844 history. On the blackboard is written, 'No children allowed downstairs.'
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1845 There is a door to the east with an 'exit' sign on it. There is another
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1846 door to the west."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1847 "Classroom" ;88
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1848 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1849 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1850 "You are at the Vermont St. subway station. A train is sitting here waiting."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1851 "Vermont station" ;89
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1852 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1853 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1854 "You are at the Museum subway stop. A passage leads off to the north."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1855 "Museum station" ;90
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1856 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1857 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1858 "You are in a north/south tunnel."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1859 "N/S tunnel" ;91
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1860 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1861 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1862 "You are at the north end of a north/south tunnel. Stairs lead up and
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1863 down from here. There is a garbage disposal here."
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
1864 "North end of N/S tunnel" ;92
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1865 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1866 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1867 "You are at the top of some stairs near the subway station. There is
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1868 a door to the west."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1869 "Top of subway stairs" ;93
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1870 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1871 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1872 "You are at the bottom of some stairs near the subway station. There is
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1873 a room to the northeast."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1874 "Bottom of subway stairs" ;94
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1875 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1876 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1877 "You are in another computer room. There is a computer in here larger
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1878 than you have ever seen. It has no manufacturers name on it, but it
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1879 does have a sign that says: This machine's name is 'endgame'. The
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1880 exit is to the southwest. There is no console here on which you could
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1881 type."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1882 "Endgame computer room" ;95
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1883 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1884 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1885 "You are in a north/south hallway."
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
1886 "Endgame N/S hallway" ;96
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1887 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1888 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1889 "You have reached a question room. You must answer a question correctly in
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1890 order to get by. Use the 'answer' command to answer the question."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1891 "Question room 1" ;97
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1892 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1893 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1894 "You are in a north/south hallway."
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
1895 "Endgame N/S hallway" ;98
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1896 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1897 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1898 "You are in a second question room."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1899 "Question room 2" ;99
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1900 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1901 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1902 "You are in a north/south hallway."
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
1903 "Endgame N/S hallway" ;100
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1904 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1905 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1906 "You are in a third question room."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1907 "Question room 3" ;101
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1908 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1909 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1910 "You are in the endgame treasure room. A door leads out to the north, and
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1911 a hallway leads to the south."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1912 "Endgame treasure room" ;102
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1913 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1914 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1915 "You are in the winner's room. A door leads back to the south."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1916 "Winner's room" ;103
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1917 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1918 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1919 "You have reached a dead end. There is a PC on the floor here. Above
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1920 it is a sign that reads:
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1921 Type the 'reset' command to type on the PC.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1922 A hole leads north."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1923 "PC area" ;104
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1924 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1925 ))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1926
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1927 (setq dun-light-rooms '(0 1 2 3 4 5 6 7 8 9 10 11 12 13 24 25 26 27 28 58 59
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1928 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1929 77 78 79 80 81 82 83))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1930
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1931 (setq dun-verblist '((die . dun-die) (ne . dun-ne) (north . dun-n)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1932 (south . dun-s) (east . dun-e) (west . dun-w)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1933 (u . dun-up) (d . dun-down) (i . dun-inven)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1934 (inventory . dun-inven) (look . dun-examine) (n . dun-n)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1935 (s . dun-s) (e . dun-e) (w . dun-w) (se . dun-se)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1936 (nw . dun-nw) (sw . dun-sw) (up . dun-up)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1937 (down . dun-down) (in . dun-in) (out . dun-out)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1938 (go . dun-go) (drop . dun-drop) (southeast . dun-se)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1939 (southwest . dun-sw) (northeast . dun-ne)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1940 (northwest . dun-nw) (save . dun-save-game)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1941 (restore . dun-restore) (long . dun-long) (dig . dun-dig)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1942 (shake . dun-shake) (wave . dun-shake)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1943 (examine . dun-examine) (describe . dun-examine)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1944 (climb . dun-climb) (eat . dun-eat) (put . dun-put)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1945 (type . dun-type) (insert . dun-put)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1946 (score . dun-score) (help . dun-help) (quit . dun-quit)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1947 (read . dun-examine) (verbose . dun-long)
14640
65151464291f (dun-urinate): Renamed.
Karl Heuer <kwzh@gnu.org>
parents: 14169
diff changeset
1948 (urinate . dun-urinate)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1949 (flush . dun-flush) (sleep . dun-sleep) (lie . dun-sleep)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1950 (x . dun-examine) (break . dun-break) (drive . dun-drive)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1951 (board . dun-in) (enter . dun-in) (turn . dun-turn)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1952 (press . dun-press) (push . dun-press) (swim . dun-swim)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1953 (on . dun-in) (off . dun-out) (chop . dun-break)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1954 (switch . dun-press) (cut . dun-break) (exit . dun-out)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1955 (leave . dun-out) (reset . dun-power) (flick . dun-press)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1956 (superb . dun-superb) (answer . dun-answer)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1957 (throw . dun-drop) (l . dun-examine) (take . dun-take)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1958 (get . dun-take) (feed . dun-feed)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1959
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1960 (setq dun-inbus nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1961 (setq dun-nomail nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1962 (setq dun-ignore '(the to at))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1963 (setq dun-mode 'moby)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
1964 (setq dun-sauna-level 0)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1965
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1966 (defconst north 0)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1967 (defconst south 1)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1968 (defconst east 2)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1969 (defconst west 3)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1970 (defconst northeast 4)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1971 (defconst southeast 5)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1972 (defconst northwest 6)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1973 (defconst southwest 7)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1974 (defconst up 8)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1975 (defconst down 9)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1976 (defconst in 10)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1977 (defconst out 11)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1978
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1979 (setq dungeon-map '(
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1980 ; no so ea we ne se nw sw up do in ot
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1981 ( 96 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;0
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1982 ( -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;1
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1983 ( -1 -1 3 1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;2
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1984 ( -1 -1 -1 2 4 6 -1 -1 -1 -1 -1 -1 ) ;3
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1985 ( -1 -1 -1 -1 5 -1 -1 3 -1 -1 -1 -1 ) ;4
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1986 ( -1 -1 -1 -1 255 -1 -1 4 -1 -1 255 -1 ) ;5
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1987 ( -1 -1 -1 -1 -1 7 3 -1 -1 -1 -1 -1 ) ;6
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1988 ( -1 -1 -1 -1 -1 255 6 27 -1 -1 -1 -1 ) ;7
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1989 ( 255 5 9 10 -1 -1 -1 5 -1 -1 -1 5 ) ;8
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1990 ( -1 -1 -1 8 -1 -1 -1 -1 -1 -1 -1 -1 ) ;9
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1991 ( -1 -1 8 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;10
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1992 ( -1 8 -1 58 -1 -1 -1 -1 -1 -1 -1 -1 ) ;11
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1993 ( -1 -1 13 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;12
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1994 ( 15 -1 14 12 -1 -1 -1 -1 -1 -1 -1 -1 ) ;13
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1995 ( -1 -1 -1 13 -1 -1 -1 -1 -1 -1 -1 -1 ) ;14
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1996 ( -1 13 16 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;15
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1997 ( -1 -1 -1 15 -1 -1 -1 -1 -1 17 16 -1 ) ;16
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1998 ( -1 -1 17 17 17 17 255 17 255 17 -1 -1 ) ;17
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1999 ( 18 18 18 18 18 -1 18 18 19 18 -1 -1 ) ;18
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2000 ( -1 18 18 19 19 20 19 19 -1 18 -1 -1 ) ;19
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2001 ( -1 -1 -1 18 -1 -1 -1 -1 -1 21 -1 -1 ) ;20
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2002 ( -1 -1 -1 -1 -1 20 22 -1 -1 -1 -1 -1 ) ;21
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2003 ( 18 18 18 18 16 18 23 18 18 18 18 18 ) ;22
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2004 ( -1 255 -1 -1 -1 19 -1 -1 -1 -1 -1 -1 ) ;23
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2005 ( 23 25 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;24
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2006 ( 24 255 -1 -1 -1 -1 -1 -1 -1 -1 255 -1 ) ;25
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2007 (255 28 -1 -1 -1 -1 -1 -1 -1 -1 255 -1 ) ;26
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2008 ( -1 -1 -1 -1 7 -1 -1 -1 -1 -1 -1 -1 ) ;27
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2009 ( 26 255 -1 -1 -1 -1 -1 -1 -1 -1 255 -1 ) ;28
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2010 ( -1 -1 30 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;29
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2011 ( -1 -1 31 29 -1 -1 -1 -1 -1 -1 -1 -1 ) ;30
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2012 ( 32 33 -1 30 -1 -1 -1 -1 -1 -1 -1 -1 ) ;31
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2013 ( -1 31 -1 255 -1 -1 -1 -1 -1 34 -1 -1 ) ;32
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2014 ( 31 -1 -1 -1 -1 -1 -1 -1 -1 35 -1 -1 ) ;33
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2015 ( -1 35 -1 -1 -1 -1 -1 -1 32 37 -1 -1 ) ;34
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2016 ( 34 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;35
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2017 ( -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;36
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2018 ( -1 -1 -1 -1 -1 -1 -1 38 34 -1 -1 -1 ) ;37
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2019 ( -1 -1 40 41 37 -1 -1 39 -1 -1 -1 -1 ) ;38
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2020 ( -1 -1 -1 -1 38 -1 -1 -1 -1 -1 -1 -1 ) ;39
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2021 ( -1 -1 -1 38 -1 -1 -1 -1 42 -1 -1 -1 ) ;40
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2022 ( -1 -1 38 -1 -1 -1 -1 -1 -1 43 -1 -1 ) ;41
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2023 ( -1 -1 -1 -1 -1 -1 -1 -1 -1 40 -1 -1 ) ;42
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2024 ( 44 -1 46 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;43
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2025 ( -1 43 45 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;44
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2026 ( -1 46 -1 44 -1 -1 -1 -1 -1 -1 -1 -1 ) ;45
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2027 ( 45 -1 -1 43 -1 -1 -1 -1 -1 255 -1 -1 ) ;46
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2028 ( 48 50 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;47
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2029 ( 49 47 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;48
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2030 ( -1 48 -1 -1 -1 -1 -1 -1 52 -1 -1 -1 ) ;49
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2031 ( 47 51 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;50
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2032 ( 50 104 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;51
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2033 ( -1 -1 -1 -1 -1 -1 -1 -1 53 49 -1 -1 ) ;52
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2034 ( -1 -1 -1 -1 -1 -1 -1 -1 54 52 -1 -1 ) ;53
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2035 ( -1 -1 -1 -1 55 -1 -1 -1 -1 53 -1 -1 ) ;54
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2036 ( -1 -1 -1 -1 56 -1 -1 54 -1 -1 -1 54 ) ;55
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2037 ( -1 -1 -1 -1 -1 -1 -1 55 -1 31 -1 -1 ) ;56
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2038 ( -1 -1 32 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;57
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2039 ( 59 -1 11 -1 -1 -1 -1 -1 -1 -1 255 255) ;58
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2040 ( 60 58 63 -1 -1 -1 255 -1 -1 -1 255 255) ;59
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2041 ( 61 59 64 -1 -1 -1 -1 -1 -1 -1 255 255) ;60
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2042 ( 62 60 65 -1 -1 -1 -1 -1 -1 -1 255 255) ;61
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2043 ( -1 61 66 -1 -1 -1 -1 -1 -1 -1 255 255) ;62
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2044 ( 64 -1 67 59 -1 -1 -1 -1 -1 -1 255 255) ;63
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2045 ( 65 63 68 60 -1 -1 -1 -1 -1 -1 255 255) ;64
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2046 ( 66 64 69 61 -1 -1 -1 -1 -1 -1 255 255) ;65
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2047 ( -1 65 70 62 -1 -1 -1 -1 -1 -1 255 255) ;66
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2048 ( 68 -1 71 63 -1 -1 -1 -1 -1 -1 255 255) ;67
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2049 ( 69 67 72 64 -1 -1 -1 -1 -1 -1 255 255) ;68
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2050 ( 70 68 73 65 -1 -1 -1 -1 -1 -1 255 255) ;69
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2051 ( -1 69 74 66 -1 -1 -1 -1 -1 -1 255 255) ;70
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2052 ( 72 -1 75 67 -1 -1 -1 -1 -1 -1 255 255) ;71
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2053 ( 73 71 76 68 -1 -1 -1 -1 -1 -1 255 255) ;72
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2054 ( 74 72 77 69 -1 -1 -1 -1 -1 -1 255 255) ;73
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2055 ( -1 73 78 70 -1 -1 -1 -1 -1 -1 255 255) ;74
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2056 ( 76 -1 79 71 -1 -1 -1 -1 -1 -1 255 255) ;75
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2057 ( 77 75 80 72 -1 -1 -1 -1 -1 -1 255 255) ;76
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2058 ( 78 76 81 73 -1 -1 -1 -1 -1 -1 255 255) ;77
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2059 ( -1 77 82 74 -1 -1 -1 -1 -1 -1 255 255) ;78
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2060 ( 80 -1 -1 75 -1 -1 -1 -1 -1 -1 255 255) ;79
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2061 ( 81 79 255 76 -1 -1 -1 -1 -1 -1 255 255) ;80
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2062 ( 82 80 -1 77 -1 -1 -1 -1 -1 -1 255 255) ;81
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2063 ( -1 81 -1 78 -1 -1 -1 -1 -1 -1 255 255) ;82
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2064 ( 84 -1 -1 -1 -1 59 -1 -1 -1 -1 255 255) ;83
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2065 ( -1 83 85 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;84
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2066 ( 86 -1 87 84 -1 -1 -1 -1 -1 -1 -1 -1 ) ;85
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2067 ( -1 85 88 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;86
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2068 ( 88 -1 -1 85 -1 -1 -1 -1 -1 -1 -1 -1 ) ;87
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2069 ( -1 87 255 86 -1 -1 -1 -1 -1 -1 -1 -1 ) ;88
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2070 ( -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 255 -1 ) ;89
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2071 ( 91 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;90
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2072 ( 92 90 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;91
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2073 ( -1 91 -1 -1 -1 -1 -1 -1 93 94 -1 -1 ) ;92
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2074 ( -1 -1 -1 88 -1 -1 -1 -1 -1 92 -1 -1 ) ;93
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2075 ( -1 -1 -1 -1 95 -1 -1 -1 92 -1 -1 -1 ) ;94
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2076 ( -1 -1 -1 -1 -1 -1 -1 94 -1 -1 -1 -1 ) ;95
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2077 ( 97 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;96
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2078 ( -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;97
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2079 ( 99 97 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;98
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2080 ( -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;99
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2081 ( 101 99 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;100
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2082 ( -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;101
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2083 ( 103 101 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;102
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2084 ( -1 102 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;103
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2085 ( 51 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ) ;104
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2086 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2087 ; no so ea we ne se nw sw up do in ot
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2088 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2089
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2090
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2091 ;;; How the user references *all* objects, permanent and regular.
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2092 (setq dun-objnames '(
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2093 (shovel . 0)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2094 (lamp . 1)
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2095 (cpu . 2) (board . 2) (card . 2) (chip . 2)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2096 (food . 3)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2097 (key . 4)
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2098 (paper . 5) (slip . 5)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2099 (rms . 6) (statue . 6) (statuette . 6) (stallman . 6)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2100 (diamond . 7)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2101 (weight . 8)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2102 (life . 9) (preserver . 9)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2103 (bracelet . 10) (emerald . 10)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2104 (gold . 11)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2105 (platinum . 12)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2106 (towel . 13) (beach . 13)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2107 (axe . 14)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2108 (silver . 15)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2109 (license . 16)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2110 (coins . 17)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2111 (egg . 18)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2112 (jar . 19)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2113 (bone . 20)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2114 (acid . 21) (nitric . 21)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2115 (glycerine . 22)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2116 (ruby . 23)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2117 (amethyst . 24)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2118 (mona . 25)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2119 (bill . 26)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2120 (floppy . 27) (disk . 27)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2121
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2122 (boulder . -1)
13076
b2191b493c1b (dun-climb): Handle unknown object name.
Richard M. Stallman <rms@gnu.org>
parents: 4697
diff changeset
2123 (tree . -2) (trees . -2) (palm . -2)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2124 (bear . -3)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2125 (bin . -4) (bins . -4)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2126 (cabinet . -5) (computer . -5) (vax . -5) (ibm . -5)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2127 (protoplasm . -6)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2128 (dial . -7)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2129 (button . -8)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2130 (chute . -9)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2131 (painting . -10)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2132 (bed . -11)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2133 (urinal . -12)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2134 (URINE . -13)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2135 (pipes . -14) (pipe . -14)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2136 (box . -15) (slit . -15)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2137 (cable . -16) (ethernet . -16)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2138 (mail . -17) (drop . -17)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2139 (bus . -18)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2140 (gate . -19)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2141 (cliff . -20)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2142 (skeleton . -21) (dinosaur . -21)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2143 (fish . -22)
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2144 (tanks . -23) (tank . -23)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2145 (switch . -24)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2146 (blackboard . -25)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2147 (disposal . -26) (garbage . -26)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2148 (ladder . -27)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2149 (subway . -28) (train . -28)
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2150 (pc . -29) (drive . -29) (coconut . -30) (coconuts . -30)
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2151 (lake . -32) (water . -32)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2152 ))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2153
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2154 (dolist (x dun-objnames)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2155 (let (name)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2156 (setq name (concat "obj-" (prin1-to-string (car x))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2157 (eval (list 'defconst (intern name) (cdr x)))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2158
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2159 (defconst obj-special 255)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2160
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2161 ;;; The initial setup of what objects are in each room.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2162 ;;; Regular objects have whole numbers lower than 255.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2163 ;;; Objects that cannot be taken but might move and are
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2164 ;;; described during room description are negative.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2165 ;;; Stuff that is described and might change are 255, and are
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2166 ;;; handled specially by 'dun-describe-room.
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2167
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2168 (setq dun-room-objects (list nil
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2169
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2170 (list obj-shovel) ;; treasure-room
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2171 (list obj-boulder) ;; dead-end
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2172 nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2173 (list obj-food) ;; se-nw-road
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2174 (list obj-bear) ;; bear-hangout
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2175 nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2176 (list obj-special) ;; computer-room
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2177 (list obj-lamp obj-license obj-silver);; meadow
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2178 nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2179 (list obj-special) ;; sauna
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2180 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2181 (list obj-weight obj-life) ;; weight-room
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2182 nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2183 (list obj-rms obj-floppy) ;; thirsty-maze
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2184 nil nil nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2185 (list obj-emerald) ;; hidden-area
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2186 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2187 (list obj-gold) ;; misty-room
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2188 nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2189 (list obj-towel obj-special) ;; red-room
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2190 nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2191 (list obj-box) ;; stair-landing
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2192 nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2193 (list obj-axe) ;; smal-crawlspace
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2194 nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2195 nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2196 (list obj-special) ;; fourth-vermont-intersection
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2197 nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2198 (list obj-coins) ;; fifth-oaktree-intersection
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2199 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2200 (list obj-bus) ;; fifth-sycamore-intersection
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2201 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2202 (list obj-bone) ;; museum-lobby
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2203 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2204 (list obj-jar obj-special obj-ruby) ;; marine-life-area
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2205 (list obj-nitric) ;; maintenance-room
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2206 (list obj-glycerine) ;; classroom
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2207 nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2208 (list obj-amethyst) ;; bottom-of-subway-stairs
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2209 nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2210 (list obj-special) ;; question-room-1
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2211 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2212 (list obj-special) ;; question-room-2
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2213 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2214 (list obj-special) ;; question-room-three
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2215 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2216 (list obj-mona) ;; winner's-room
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2217 nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2218 nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2219 nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2220 nil))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2221
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2222 ;;; These are objects in a room that are only described in the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2223 ;;; room description. They are permanent.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2224
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2225 (setq dun-room-silents (list nil
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2226 (list obj-tree obj-coconut) ;; dead-end
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2227 (list obj-tree obj-coconut) ;; e-w-dirt-road
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2228 nil nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2229 (list obj-bin) ;; mailroom
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2230 (list obj-computer) ;; computer-room
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2231 nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2232 (list obj-dial) ;; sauna
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2233 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2234 (list obj-ladder) ;; weight-room
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2235 (list obj-button obj-ladder) ;; maze-button-room
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2236 nil nil nil
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2237 nil nil nil nil
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2238 (list obj-lake) ;; lakefront-north
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2239 (list obj-lake) ;; lakefront-south
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2240 nil
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2241 (list obj-chute) ;; cave-entrance
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2242 nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2243 (list obj-painting obj-bed) ;; bedroom
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2244 (list obj-urinal obj-pipes) ;; bathroom
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2245 nil nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2246 (list obj-boulder) ;; horseshoe-boulder-room
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2247 nil nil nil nil nil nil nil nil nil nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2248 (list obj-computer obj-cable) ;; gamma-computing-center
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2249 (list obj-mail) ;; post-office
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2250 (list obj-gate) ;; main-maple-intersection
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2251 nil nil nil nil nil nil nil nil nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2252 nil nil nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2253 (list obj-cliff) ;; fifth-oaktree-intersection
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2254 nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2255 (list obj-dinosaur) ;; museum-lobby
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2256 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2257 (list obj-fish obj-tanks) ;; marine-life-area
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2258 (list obj-switch) ;; maintenance-room
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2259 (list obj-blackboard) ;; classroom
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2260 (list obj-train) ;; vermont-station
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2261 nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2262 (list obj-disposal) ;; north-end-of-n-s-tunnel
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2263 nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2264 (list obj-computer) ;; endgame-computer-room
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2265 nil nil nil nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2266 (list obj-pc) ;; pc-area
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2267 nil nil nil nil nil nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2268 ))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2269 (setq dun-inventory '(1))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2270
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2271 ;;; Descriptions of objects, as they appear in the room description, and
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2272 ;;; the inventory.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2273
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2274 (setq dun-objects '(
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2275 ("There is a shovel here." "A shovel") ;0
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2276 ("There is a lamp nearby." "A lamp") ;1
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2277 ("There is a CPU card here." "A computer board") ;2
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2278 ("There is some food here." "Some food") ;3
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2279 ("There is a shiny brass key here." "A brass key") ;4
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2280 ("There is a slip of paper here." "A slip of paper") ;5
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2281 ("There is a wax statuette of Richard Stallman here." ;6
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2282 "An RMS statuette")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2283 ("There is a shimmering diamond here." "A diamond") ;7
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2284 ("There is a 10 pound weight here." "A weight") ;8
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2285 ("There is a life preserver here." "A life preserver");9
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2286 ("There is an emerald bracelet here." "A bracelet") ;10
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2287 ("There is a gold bar here." "A gold bar") ;11
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2288 ("There is a platinum bar here." "A platinum bar") ;12
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2289 ("There is a beach towel on the ground here." "A beach towel")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2290 ("There is an axe here." "An axe") ;14
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2291 ("There is a silver bar here." "A silver bar") ;15
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2292 ("There is a bus driver's license here." "A license") ;16
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2293 ("There are some valuable coins here." "Some valuable coins")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2294 ("There is a jewel-encrusted egg here." "A valuable egg") ;18
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2295 ("There is a glass jar here." "A glass jar") ;19
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2296 ("There is a dinosaur bone here." "A bone") ;20
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2297 ("There is a packet of nitric acid here." "Some nitric acid")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2298 ("There is a packet of glycerine here." "Some glycerine") ;22
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2299 ("There is a valuable ruby here." "A ruby") ;23
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2300 ("There is a valuable amethyst here." "An amethyst") ;24
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2301 ("The Mona Lisa is here." "The Mona Lisa") ;25
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2302 ("There is a 100 dollar bill here." "A $100 bill") ;26
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2303 ("There is a floppy disk here." "A floppy disk") ;27
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2304 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2305 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2306
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2307 ;;; Weight of objects
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2308
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2309 (setq dun-object-lbs
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2310 '(2 1 1 1 1 0 2 2 10 3 1 1 1 0 1 1 0 1 1 1 1 0 0 2 2 1 0 0))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2311 (setq dun-object-pts
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2312 '(0 0 0 0 0 0 0 10 0 0 10 10 10 0 0 10 0 10 10 0 0 0 0 10 10 10 10 0))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2313
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2314
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2315 ;;; Unix representation of objects.
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2316 (setq dun-objfiles '(
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2317 "shovel.o" "lamp.o" "cpu.o" "food.o" "key.o" "paper.o"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2318 "rms.o" "diamond.o" "weight.o" "preserver.o" "bracelet.o"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2319 "gold.o" "platinum.o" "towel.o" "axe.o" "silver.o" "license.o"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2320 "coins.o" "egg.o" "jar.o" "bone.o" "nitric.o" "glycerine.o"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2321 "ruby.o" "amethyst.o"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2322 ))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2323
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2324 ;;; These are the descriptions for the negative numbered objects from
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2325 ;;; dun-room-objects
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2326
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2327 (setq dun-perm-objects '(
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2328 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2329 ("There is a large boulder here.")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2330 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2331 ("There is a ferocious bear here!")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2332 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2333 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2334 ("There is a worthless pile of protoplasm here.")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2335 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2336 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2337 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2338 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2339 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2340 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2341 ("There is a strange smell in this room.")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2342 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2343 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2344 "There is a box with a slit in it, bolted to the wall here."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2345 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2346 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2347 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2348 ("There is a bus here.")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2349 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2350 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2351 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2352 ))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2353
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2354
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2355 ;;; These are the descriptions the user gets when regular objects are
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2356 ;;; examined.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2357
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2358 (setq dun-physobj-desc '(
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2359 "It is a normal shovel with a price tag attached that says $19.99."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2360 "The lamp is hand-crafted by Geppetto."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2361 "The CPU board has a VAX chip on it. It seems to have
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2362 2 Megabytes of RAM onboard."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2363 "It looks like some kind of meat. Smells pretty bad."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2364 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2365 "The paper says: Don't forget to type 'help' for help. Also, remember
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2366 this word: 'worms'"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2367 "The statuette is of the likeness of Richard Stallman, the author of the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2368 famous EMACS editor. You notice that he is not wearing any shoes."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2369 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2370 "You observe that the weight is heavy."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2371 "It says S. S. Minnow."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2372 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2373 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2374 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2375 "It has a picture of snoopy on it."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2376 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2377 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2378 "It has your picture on it!"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2379 "They are old coins from the 19th century."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2380 "It is a valuable Fabrege egg."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2381 "It is a a plain glass jar."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2382 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2383 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2384 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2385 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2386 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2387 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2388 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2389
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2390 ;;; These are the descriptions the user gets when non-regular objects
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2391 ;;; are examined.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2392
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2393 (setq dun-permobj-desc '(
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2394 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2395 "It is just a boulder. It cannot be moved."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2396 "They are palm trees with a bountiful supply of coconuts in them."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2397 "It looks like a grizzly to me."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2398 "All of the bins are empty. Looking closely you can see that there
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2399 are names written at the bottom of each bin, but most of them are
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2400 faded away so that you cannot read them. You can only make out three
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2401 names:
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2402 Jeffrey Collier
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2403 Robert Toukmond
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2404 Thomas Stock
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2405 "
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2406 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2407 "It is just a garbled mess."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2408 "The dial points to a temperature scale which has long since faded away."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2409 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2410 nil
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2411 "It is a velvet painting of Elvis Presley. It seems to be nailed to the
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2412 wall, and you cannot move it."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2413 "It is a queen sized bed, with a very firm mattress."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2414 "The urinal is very clean compared with everything else in the cave. There
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2415 isn't even any rust. Upon close examination you realize that the drain at the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2416 bottom is missing, and there is just a large hole leading down the
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2417 pipes into nowhere. The hole is too small for a person to fit in. The
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2418 flush handle is so clean that you can see your reflection in it."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2419 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2420 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2421 "The box has a slit in the top of it, and on it, in sloppy handwriting, is
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2422 written: 'For key upgrade, put key in here.'"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2423 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2424 "It says 'express mail' on it."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2425 "It is a 35 passenger bus with the company name 'mobytours' on it."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2426 "It is a large metal gate that is too big to climb over."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2427 "It is a HIGH cliff."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2428 "Unfortunately you do not know enough about dinosaurs to tell very much about
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2429 it. It is very big, though."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2430 "The fish look like they were once quite beautiful."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2431 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2432 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2433 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2434 nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2435 "It is a normal ladder that is permanently attached to the hole."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2436 "It is a passenger train that is ready to go."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2437 "It is a personal computer that has only one floppy disk drive."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2438 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2439 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2440
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2441 (setq dun-diggables
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2442 (list nil nil nil (list obj-cpu) nil nil nil nil nil nil nil
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2443 nil nil nil nil nil nil nil nil nil nil ;11-20
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2444 nil nil nil nil nil nil nil nil nil nil ;21-30
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2445 nil nil nil nil nil nil nil nil nil nil ;31-40
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2446 nil (list obj-platinum) nil nil nil nil nil nil nil nil))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2447
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2448 (setq dun-room-shorts nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2449 (dolist (x dun-rooms)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2450 (setq dun-room-shorts
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2451 (append dun-room-shorts (list (downcase
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2452 (dun-space-to-hyphen
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2453 (cadr x)))))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2454
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2455 (setq dun-endgame-questions '(
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2456 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2457 "What is your password on the machine called 'pokey'?" "robert")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2458 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2459 "What password did you use during anonymous ftp to gamma?" "foo")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2460 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2461 "Excluding the endgame, how many places are there where you can put
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2462 treasures for points?" "4" "four")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2463 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2464 "What is your login name on the 'endgame' machine?" "toukmond"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2465 )
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2466 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2467 "What is the nearest whole dollar to the price of the shovel?" "20" "twenty")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2468 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2469 "What is the name of the bus company serving the town?" "mobytours")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2470 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2471 "Give either of the two last names in the mailroom, other than your own."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2472 "collier" "stock")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2473 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2474 "What cartoon character is on the towel?" "snoopy")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2475 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2476 "What is the last name of the author of EMACS?" "stallman")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2477 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2478 "How many megabytes of memory is on the CPU board for the Vax?" "2")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2479 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2480 "Which street in town is named after a U.S. state?" "vermont")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2481 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2482 "How many pounds did the weight weigh?" "ten" "10")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2483 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2484 "Name the STREET which runs right over the subway stop." "fourth" "4" "4th")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2485 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2486 "How many corners are there in town (excluding the one with the Post Office)?"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2487 "24" "twentyfour" "twenty-four")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2488 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2489 "What type of bear was hiding your key?" "grizzly")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2490 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2491 "Name either of the two objects you found by digging." "cpu" "card" "vax"
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2492 "board" "platinum")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2493 (
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2494 "What network protocol is used between pokey and gamma?" "tcp/ip" "ip" "tcp")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2495 ))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2496
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2497 (let (a)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2498 (setq a 0)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2499 (dolist (x dun-room-shorts)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2500 (eval (list 'defconst (intern x) a))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2501 (setq a (+ a 1))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2502
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2503
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2504
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2505 ;;;;
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2506 ;;;; This section defines the UNIX emulation functions for dunnet.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2507 ;;;;
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2508
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2509 (defun dun-unix-parse (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2510 (interactive "*p")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2511 (beginning-of-line)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2512 (let (beg esign)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2513 (setq beg (+ (point) 2))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2514 (end-of-line)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2515 (if (and (not (= beg (point)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2516 (string= "$" (buffer-substring (- beg 2) (- beg 1))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2517 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2518 (setq line (downcase (buffer-substring beg (point))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2519 (princ line)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2520 (if (eq (dun-parse2 nil dun-unix-verbs line) -1)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2521 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2522 (if (setq esign (string-match "=" line))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2523 (dun-doassign line esign)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2524 (dun-mprinc (car line-list))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2525 (dun-mprincl ": not found.")))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2526 (goto-char (point-max))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2527 (dun-mprinc "\n"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2528 (if (eq dungeon-mode 'unix)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2529 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2530 (dun-fix-screen)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2531 (dun-mprinc "$ ")))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2532
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2533 (defun dun-doassign (line esign)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2534 (if (not dun-wizard)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2535 (let (passwd)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2536 (dun-mprinc "Enter wizard password: ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2537 (setq passwd (dun-read-line))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2538 (if (not dun-batch-mode)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2539 (dun-mprinc "\n"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2540 (if (string= passwd "moby")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2541 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2542 (setq dun-wizard t)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2543 (dun-doassign line esign))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2544 (dun-mprincl "Incorrect.")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2545
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2546 (let (varname epoint afterq i value)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2547 (setq varname (substring line 0 esign))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2548 (if (not (setq epoint (string-match ")" line)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2549 (if (string= (substring line (1+ esign) (+ esign 2))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2550 "\"")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2551 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2552 (setq afterq (substring line (+ esign 2)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2553 (setq epoint (+
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2554 (string-match "\"" afterq)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2555 (+ esign 3))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2556
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2557 (if (not (setq epoint (string-match " " line)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2558 (setq epoint (length line))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2559 (setq epoint (1+ epoint))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2560 (while (and
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2561 (not (= epoint (length line)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2562 (setq i (string-match ")" (substring line epoint))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2563 (setq epoint (+ epoint i 1))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2564 (setq value (substring line (1+ esign) epoint))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2565 (dun-eval varname value))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2566
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2567 (defun dun-eval (varname value)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2568 (let (eval-error)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2569 (switch-to-buffer (get-buffer-create "*dungeon-eval*"))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2570 (erase-buffer)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2571 (insert "(setq ")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2572 (insert varname)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2573 (insert " ")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2574 (insert value)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2575 (insert ")")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2576 (setq eval-error nil)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2577 (condition-case nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2578 (eval-current-buffer)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2579 (error (setq eval-error t)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2580 (kill-buffer (current-buffer))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2581 (switch-to-buffer "*dungeon*")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2582 (if eval-error
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2583 (dun-mprincl "Invalid syntax."))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2584
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2585
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2586 (defun dun-unix-interface ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2587 (dun-login)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2588 (if dun-logged-in
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2589 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2590 (setq dungeon-mode 'unix)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2591 (define-key dungeon-mode-map "\r" 'dun-unix-parse)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2592 (dun-mprinc "$ "))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2593
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2594 (defun dun-login ()
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2595 (let (tries username password)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2596 (setq tries 4)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2597 (while (and (not dun-logged-in) (> (setq tries (- tries 1)) 0))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2598 (dun-mprinc "\n\nUNIX System V, Release 2.2 (pokey)\n\nlogin: ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2599 (setq username (dun-read-line))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2600 (if (not dun-batch-mode)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2601 (dun-mprinc "\n"))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2602 (dun-mprinc "password: ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2603 (setq password (dun-read-line))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2604 (if (not dun-batch-mode)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2605 (dun-mprinc "\n"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2606 (if (or (not (string= username "toukmond"))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2607 (not (string= password "robert")))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2608 (dun-mprincl "login incorrect")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2609 (setq dun-logged-in t)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2610 (dun-mprincl "
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2611 Welcome to Unix\n
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2612 Please clean up your directories. The filesystem is getting full.
13952
de80a367ca08 (dun-cd): Fix local var misspelling.
Karl Heuer <kwzh@gnu.org>
parents: 13076
diff changeset
2613 Our tcp/ip link to gamma is a little flaky, but seems to work.
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2614 The current version of ftp can only send files from your home
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2615 directory, and deletes them after they are sent! Be careful.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2616
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2617 Note: Restricted bourne shell in use.\n")))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2618 (setq dungeon-mode 'dungeon)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2619
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2620 (defun dun-ls (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2621 (if (car args)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2622 (let (ocdpath ocdroom)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2623 (setq ocdpath dun-cdpath)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2624 (setq ocdroom dun-cdroom)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2625 (if (not (eq (dun-cd args) -2))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2626 (dun-ls nil))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2627 (setq dun-cdpath ocdpath)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2628 (setq dun-cdroom ocdroom))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2629 (if (= dun-cdroom -10)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2630 (dun-ls-inven))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2631 (if (= dun-cdroom -2)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2632 (dun-ls-rooms))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2633 (if (= dun-cdroom -3)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2634 (dun-ls-root))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2635 (if (= dun-cdroom -4)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2636 (dun-ls-usr))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2637 (if (> dun-cdroom 0)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2638 (dun-ls-room))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2639
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2640 (defun dun-ls-root ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2641 (dun-mprincl "total 4
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2642 drwxr-xr-x 3 root staff 512 Jan 1 1970 .
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2643 drwxr-xr-x 3 root staff 2048 Jan 1 1970 ..
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2644 drwxr-xr-x 3 root staff 2048 Jan 1 1970 usr
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2645 drwxr-xr-x 3 root staff 2048 Jan 1 1970 rooms"))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2646
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2647 (defun dun-ls-usr ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2648 (dun-mprincl "total 4
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2649 drwxr-xr-x 3 root staff 512 Jan 1 1970 .
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2650 drwxr-xr-x 3 root staff 2048 Jan 1 1970 ..
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2651 drwxr-xr-x 3 toukmond restricted 512 Jan 1 1970 toukmond"))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2652
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2653 (defun dun-ls-rooms ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2654 (dun-mprincl "total 16
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2655 drwxr-xr-x 3 root staff 512 Jan 1 1970 .
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2656 drwxr-xr-x 3 root staff 2048 Jan 1 1970 ..")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2657 (dolist (x dun-visited)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2658 (dun-mprinc
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2659 "drwxr-xr-x 3 root staff 512 Jan 1 1970 ")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2660 (dun-mprincl (nth x dun-room-shorts))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2661
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2662 (defun dun-ls-room ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2663 (dun-mprincl "total 4
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2664 drwxr-xr-x 3 root staff 512 Jan 1 1970 .
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2665 drwxr-xr-x 3 root staff 2048 Jan 1 1970 ..
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2666 -rwxr-xr-x 3 root staff 2048 Jan 1 1970 description")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2667 (dolist (x (nth dun-cdroom dun-room-objects))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2668 (if (and (>= x 0) (not (= x 255)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2669 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2670 (dun-mprinc "-rwxr-xr-x 1 toukmond restricted 0 Jan 1 1970 ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2671 (dun-mprincl (nth x dun-objfiles))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2672
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2673 (defun dun-ls-inven ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2674 (dun-mprinc "total 467
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2675 drwxr-xr-x 3 toukmond restricted 512 Jan 1 1970 .
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2676 drwxr-xr-x 3 root staff 2048 Jan 1 1970 ..")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2677 (dolist (x dun-unix-verbs)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2678 (if (not (eq (car x) 'IMPOSSIBLE))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2679 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2680 (dun-mprinc"
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2681 -rwxr-xr-x 1 toukmond restricted 10423 Jan 1 1970 ")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2682 (dun-mprinc (car x)))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2683 (dun-mprinc "\n")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2684 (if (not dun-uncompressed)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2685 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2686 "-rwxr-xr-x 1 toukmond restricted 0 Jan 1 1970 paper.o.Z"))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2687 (dolist (x dun-inventory)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2688 (dun-mprinc
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2689 "-rwxr-xr-x 1 toukmond restricted 0 Jan 1 1970 ")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2690 (dun-mprincl (nth x dun-objfiles))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2691
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2692 (defun dun-echo (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2693 (let (nomore var)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2694 (setq nomore nil)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2695 (dolist (x args)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2696 (if (not nomore)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2697 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2698 (if (not (string= (substring x 0 1) "$"))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2699 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2700 (dun-mprinc x)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2701 (dun-mprinc " "))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2702 (setq var (intern (substring x 1)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2703 (if (not (boundp var))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2704 (dun-mprinc " ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2705 (if (member var dun-restricted)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2706 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2707 (dun-mprinc var)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2708 (dun-mprinc ": Permission denied")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2709 (setq nomore t))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2710 (eval (list 'dun-mprinc var))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2711 (dun-mprinc " ")))))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2712 (dun-mprinc "\n")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2713
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2714
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2715 (defun dun-ftp (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2716 (let (host username passwd ident newlist)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2717 (if (not (car args))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2718 (dun-mprincl "ftp: hostname required on command line.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2719 (setq host (intern (car args)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2720 (if (not (member host '(gamma dun-endgame)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2721 (dun-mprincl "ftp: Unknown host.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2722 (if (eq host 'dun-endgame)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2723 (dun-mprincl "ftp: connection to endgame not allowed")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2724 (if (not dun-ethernet)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2725 (dun-mprincl "ftp: host not responding.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2726 (dun-mprincl "Connected to gamma. FTP ver 0.9 00:00:00 01/01/70")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2727 (dun-mprinc "Username: ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2728 (setq username (dun-read-line))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2729 (if (string= username "toukmond")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2730 (if dun-batch-mode
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2731 (dun-mprincl "toukmond ftp access not allowed.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2732 (dun-mprincl "\ntoukmond ftp access not allowed."))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2733 (if (string= username "anonymous")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2734 (if dun-batch-mode
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2735 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2736 "Guest login okay, send your user ident as password.")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2737 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2738 "\nGuest login okay, send your user ident as password."))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2739 (if dun-batch-mode
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2740 (dun-mprinc "Password required for ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2741 (dun-mprinc "\nPassword required for "))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2742 (dun-mprincl username))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2743 (dun-mprinc "Password: ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2744 (setq ident (dun-read-line))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2745 (if (not (string= username "anonymous"))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2746 (if dun-batch-mode
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2747 (dun-mprincl "Login failed.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2748 (dun-mprincl "\nLogin failed."))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2749 (if dun-batch-mode
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2750 (dun-mprincl
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2751 "Guest login okay, user access restrictions apply.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2752 (dun-mprincl
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2753 "\nGuest login okay, user access restrictions apply."))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2754 (dun-ftp-commands)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2755 (setq newlist
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2756 '("What password did you use during anonymous ftp to gamma?"))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2757 (setq newlist (append newlist (list ident)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2758 (rplaca (nthcdr 1 dun-endgame-questions) newlist)))))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2759
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2760 (defun dun-ftp-commands ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2761 (setq dun-exitf nil)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2762 (let (line)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2763 (while (not dun-exitf)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2764 (dun-mprinc "ftp> ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2765 (setq line (dun-read-line))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2766 (if
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2767 (eq
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2768 (dun-parse2 nil
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2769 '((type . dun-ftptype) (binary . dun-bin) (bin . dun-bin)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2770 (send . dun-send) (put . dun-send) (quit . dun-ftpquit)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2771 (help . dun-ftphelp)(ascii . dun-fascii)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2772 ) line)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2773 -1)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2774 (dun-mprincl "No such command. Try help.")))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2775 (setq dun-ftptype 'ascii)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2776
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2777 (defun dun-ftptype (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2778 (if (not (car args))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2779 (dun-mprincl "Usage: type [binary | ascii]")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2780 (setq args (intern (car args)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2781 (if (eq args 'binary)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2782 (dun-bin nil)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2783 (if (eq args 'ascii)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2784 (dun-fascii 'nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2785 (dun-mprincl "Unknown type.")))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2786
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2787 (defun dun-bin (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2788 (dun-mprincl "Type set to binary.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2789 (setq dun-ftptype 'binary))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2790
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2791 (defun dun-fascii (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2792 (dun-mprincl "Type set to ascii.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2793 (setq dun-ftptype 'ascii))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2794
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2795 (defun dun-ftpquit (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2796 (setq dun-exitf t))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2797
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2798 (defun dun-send (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2799 (if (not (car args))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2800 (dun-mprincl "Usage: send <filename>")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2801 (setq args (car args))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2802 (let (counter foo)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2803 (setq foo nil)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2804 (setq counter 0)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2805
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2806 ;;; User can send commands! Stupid user.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2807
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2808
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2809 (if (assq (intern args) dun-unix-verbs)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2810 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2811 (rplaca (assq (intern args) dun-unix-verbs) 'IMPOSSIBLE)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2812 (dun-mprinc "Sending ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2813 (dun-mprinc dun-ftptype)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2814 (dun-mprinc " file for ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2815 (dun-mprincl args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2816 (dun-mprincl "Transfer complete."))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2817
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2818 (dolist (x dun-objfiles)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2819 (if (string= args x)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2820 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2821 (if (not (member counter dun-inventory))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2822 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2823 (dun-mprincl "No such file.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2824 (setq foo t))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2825 (dun-mprinc "Sending ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2826 (dun-mprinc dun-ftptype)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2827 (dun-mprinc " file for ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2828 (dun-mprinc (downcase (cadr (nth counter dun-objects))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2829 (dun-mprincl ", (0 bytes)")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2830 (if (not (eq dun-ftptype 'binary))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2831 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2832 (if (not (member obj-protoplasm
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2833 (nth receiving-room
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2834 dun-room-objects)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2835 (dun-replace dun-room-objects receiving-room
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2836 (append (nth receiving-room
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2837 dun-room-objects)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2838 (list obj-protoplasm))))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2839 (dun-remove-obj-from-inven counter))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2840 (dun-remove-obj-from-inven counter)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2841 (dun-replace dun-room-objects receiving-room
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2842 (append (nth receiving-room dun-room-objects)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2843 (list counter))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2844 (setq foo t)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2845 (dun-mprincl "Transfer complete."))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2846 (setq counter (+ 1 counter)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2847 (if (not foo)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2848 (dun-mprincl "No such file."))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2849
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2850 (defun dun-ftphelp (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2851 (dun-mprincl
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2852 "Possible commands are:\nsend quit type ascii binary help"))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2853
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2854 (defun dun-uexit (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2855 (setq dungeon-mode 'dungeon)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2856 (dun-mprincl "\nYou step back from the console.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2857 (define-key dungeon-mode-map "\r" 'dun-parse)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2858 (if (not dun-batch-mode)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2859 (dun-messages)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2860
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2861 (defun dun-pwd (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2862 (dun-mprincl dun-cdpath))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2863
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2864 (defun dun-uncompress (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2865 (if (not (car args))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2866 (dun-mprincl "Usage: uncompress <filename>")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2867 (setq args (car args))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2868 (if (or dun-uncompressed
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2869 (and (not (string= args "paper.o"))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2870 (not (string= args "paper.o.z"))))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2871 (dun-mprincl "Uncompress command failed.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2872 (setq dun-uncompressed t)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2873 (setq dun-inventory (append dun-inventory (list obj-paper))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2874
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2875 (defun dun-rlogin (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2876 (let (passwd)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2877 (if (not (car args))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2878 (dun-mprincl "Usage: rlogin <hostname>")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2879 (setq args (car args))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2880 (if (string= args "endgame")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2881 (dun-rlogin-endgame)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2882 (if (not (string= args "gamma"))
17577
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2883 (if (string= args "pokey")
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2884 (dun-mprincl "Can't rlogin back to localhost")
6cb2ad625486 (dun-special-object):
Richard M. Stallman <rms@gnu.org>
parents: 14743
diff changeset
2885 (dun-mprincl "No such host."))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2886 (if (not dun-ethernet)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2887 (dun-mprincl "Host not responding.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2888 (dun-mprinc "Password: ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2889 (setq passwd (dun-read-line))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2890 (if (not (string= passwd "worms"))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2891 (dun-mprincl "\nlogin incorrect")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2892 (dun-mprinc
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2893 "\nYou begin to feel strange for a moment, and you lose your items."
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2894 )
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2895 (dun-replace dun-room-objects computer-room
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2896 (append (nth computer-room dun-room-objects)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2897 dun-inventory))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2898 (setq dun-inventory nil)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2899 (setq dun-current-room receiving-room)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2900 (dun-uexit nil))))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2901
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2902 (defun dun-cd (args)
13952
de80a367ca08 (dun-cd): Fix local var misspelling.
Karl Heuer <kwzh@gnu.org>
parents: 13076
diff changeset
2903 (let (tcdpath tcdroom path-elements room-check)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2904 (if (not (car args))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2905 (dun-mprincl "Usage: cd <path>")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2906 (setq tcdpath dun-cdpath)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2907 (setq tcdroom dun-cdroom)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2908 (setq dun-badcd nil)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2909 (condition-case nil
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2910 (setq path-elements (dun-get-path (car args) nil))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2911 (error (dun-mprincl "Invalid path.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2912 (setq dun-badcd t)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2913 (dolist (pe path-elements)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2914 (unless dun-badcd
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2915 (if (not (string= pe "."))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2916 (if (string= pe "..")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2917 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2918 (if (> tcdroom 0) ;In a room
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2919 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2920 (setq tcdpath "/rooms")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2921 (setq tcdroom -2))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2922 ;In /rooms,/usr,root
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2923 (if (or
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2924 (= tcdroom -2) (= tcdroom -4)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2925 (= tcdroom -3))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2926 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2927 (setq tcdpath "/")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2928 (setq tcdroom -3))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2929 (if (= tcdroom -10) ;In /usr/toukmond
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2930 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2931 (setq tcdpath "/usr")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2932 (setq tcdroom -4))))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2933 (if (string= pe "/")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2934 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2935 (setq tcdpath "/")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2936 (setq tcdroom -3))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2937 (if (= tcdroom -4)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2938 (if (string= pe "toukmond")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2939 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2940 (setq tcdpath "/usr/toukmond")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2941 (setq tcdroom -10))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2942 (dun-nosuchdir))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2943 (if (= tcdroom -10)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2944 (dun-nosuchdir)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2945 (if (> tcdroom 0)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2946 (dun-nosuchdir)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2947 (if (= tcdroom -3)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2948 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2949 (if (string= pe "rooms")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2950 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2951 (setq tcdpath "/rooms")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2952 (setq tcdroom -2))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2953 (if (string= pe "usr")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2954 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2955 (setq tcdpath "/usr")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2956 (setq tcdroom -4))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2957 (dun-nosuchdir))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2958 (if (= tcdroom -2)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2959 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2960 (dolist (x dun-visited)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2961 (setq room-check
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2962 (nth x
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2963 dun-room-shorts))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2964 (if (string= room-check pe)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2965 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2966 (setq tcdpath
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2967 (concat "/rooms/" room-check))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2968 (setq tcdroom x))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2969 (if (= tcdroom -2)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2970 (dun-nosuchdir)))))))))))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2971 (if (not dun-badcd)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2972 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2973 (setq dun-cdpath tcdpath)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2974 (setq dun-cdroom tcdroom)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2975 0)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2976 -2))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2977
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2978 (defun dun-nosuchdir ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2979 (dun-mprincl "No such directory.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2980 (setq dun-badcd t))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2981
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2982 (defun dun-cat (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2983 (let (doto checklist)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2984 (if (not (setq args (car args)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2985 (dun-mprincl "Usage: cat <ascii-file-name>")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2986 (if (string-match "/" args)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2987 (dun-mprincl "cat: only files in current directory allowed.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2988 (if (and (> dun-cdroom 0) (string= args "description"))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2989 (dun-mprincl (car (nth dun-cdroom dun-rooms)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2990 (if (setq doto (string-match "\\.o" args))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2991 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2992 (if (= dun-cdroom -10)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2993 (setq checklist dun-inventory)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2994 (setq checklist (nth dun-cdroom dun-room-objects)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2995 (if (not (member (cdr
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2996 (assq (intern
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2997 (substring args 0 doto))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
2998 dun-objnames))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2999 checklist))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3000 (dun-mprincl "File not found.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3001 (dun-mprincl "Ascii files only.")))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3002 (if (assq (intern args) dun-unix-verbs)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3003 (dun-mprincl "Ascii files only.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3004 (dun-mprincl "File not found."))))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3005
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3006 (defun dun-zippy (args)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3007 (dun-mprincl (yow)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3008
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3009 (defun dun-rlogin-endgame ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3010 (if (not (= (dun-score nil) 90))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3011 (dun-mprincl
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3012 "You have not achieved enough points to connect to endgame.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3013 (dun-mprincl"\nWelcome to the endgame. You are a truly noble adventurer.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3014 (setq dun-current-room treasure-room)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3015 (setq dun-endgame t)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3016 (dun-replace dun-room-objects endgame-treasure-room (list obj-bill))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3017 (dun-uexit nil)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3018
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3019
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3020 (random t)
4403
2d6328c324cd (dun-endgame-question, tcom, tloc):
Paul Eggert <eggert@twinsun.com>
parents: 4245
diff changeset
3021 (setq tloc (+ 60 (random 18)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3022 (dun-replace dun-room-objects tloc
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3023 (append (nth tloc dun-room-objects) (list 18)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3024
4403
2d6328c324cd (dun-endgame-question, tcom, tloc):
Paul Eggert <eggert@twinsun.com>
parents: 4245
diff changeset
3025 (setq tcomb (+ 100 (random 899)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3026 (setq dun-combination (prin1-to-string tcomb))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3027
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3028 ;;;;
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3029 ;;;; This section defines the DOS emulation functions for dunnet
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3030 ;;;;
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3031
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3032 (defun dun-dos-parse (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3033 (interactive "*p")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3034 (beginning-of-line)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3035 (let (beg)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3036 (setq beg (+ (point) 3))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3037 (end-of-line)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3038 (if (not (= beg (point)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3039 (let (line)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3040 (setq line (downcase (buffer-substring beg (point))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3041 (princ line)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3042 (if (eq (dun-parse2 nil dun-dos-verbs line) -1)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3043 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3044 (sleep-for 1)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3045 (dun-mprincl "Bad command or file name"))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3046 (goto-char (point-max))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3047 (dun-mprinc "\n"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3048 (if (eq dungeon-mode 'dos)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3049 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3050 (dun-fix-screen)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3051 (dun-dos-prompt)))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3052
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3053 (defun dun-dos-interface ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3054 (dun-dos-boot-msg)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3055 (setq dungeon-mode 'dos)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3056 (define-key dungeon-mode-map "\r" 'dun-dos-parse)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3057 (dun-dos-prompt))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3058
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3059 (defun dun-dos-type (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3060 (sleep-for 2)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3061 (if (setq args (car args))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3062 (if (string= args "foo.txt")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3063 (dun-dos-show-combination)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3064 (if (string= args "command.com")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3065 (dun-mprincl "Cannot type binary files")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3066 (dun-mprinc "File not found - ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3067 (dun-mprincl (upcase args))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3068 (dun-mprincl "Must supply file name")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3069
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3070 (defun dun-dos-invd (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3071 (sleep-for 1)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3072 (dun-mprincl "Invalid drive specification"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3073
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3074 (defun dun-dos-dir (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3075 (sleep-for 1)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3076 (if (or (not (setq args (car args))) (string= args "\\"))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3077 (dun-mprincl "
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3078 Volume in drive A is FOO
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3079 Volume Serial Number is 1A16-08C9
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3080 Directory of A:\\
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3081
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3082 COMMAND COM 47845 04-09-91 2:00a
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3083 FOO TXT 40 01-20-93 1:01a
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3084 2 file(s) 47845 bytes
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3085 1065280 bytes free
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3086 ")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3087 (dun-mprincl "
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3088 Volume in drive A is FOO
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3089 Volume Serial Number is 1A16-08C9
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3090 Directory of A:\\
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3091
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3092 File not found")))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3093
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3094
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3095 (defun dun-dos-prompt ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3096 (dun-mprinc "A> "))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3097
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3098 (defun dun-dos-boot-msg ()
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3099 (sleep-for 3)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3100 (dun-mprinc "Current time is ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3101 (dun-mprincl (substring (current-time-string) 12 20))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3102 (dun-mprinc "Enter new time: ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3103 (dun-read-line)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3104 (if (not dun-batch-mode)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3105 (dun-mprinc "\n")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3106
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3107 (defun dun-dos-spawn (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3108 (sleep-for 1)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3109 (dun-mprincl "Cannot spawn subshell"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3110
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3111 (defun dun-dos-exit (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3112 (setq dungeon-mode 'dungeon)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3113 (dun-mprincl "\nYou power down the machine and step back.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3114 (define-key dungeon-mode-map "\r" 'dun-parse)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3115 (if (not dun-batch-mode)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3116 (dun-messages)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3117
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3118 (defun dun-dos-no-disk ()
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3119 (sleep-for 3)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3120 (dun-mprincl "Boot sector not found"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3121
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3122
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3123 (defun dun-dos-show-combination ()
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3124 (sleep-for 2)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3125 (dun-mprinc "\nThe combination is ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3126 (dun-mprinc dun-combination)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3127 (dun-mprinc ".\n"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3128
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3129 (defun dun-dos-nil (args))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3130
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3131
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3132 ;;;;
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3133 ;;;; This section defines the save and restore game functions for dunnet.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3134 ;;;;
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3135
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3136 (defun dun-save-game (filename)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3137 (if (not (setq filename (car filename)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3138 (dun-mprincl "You must supply a filename for the save.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3139 (if (file-exists-p filename)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3140 (delete-file filename))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3141 (setq dun-numsaves (1+ dun-numsaves))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3142 (dun-make-save-buffer)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3143 (dun-save-val "dun-current-room")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3144 (dun-save-val "dun-computer")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3145 (dun-save-val "dun-combination")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3146 (dun-save-val "dun-visited")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3147 (dun-save-val "dun-diggables")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3148 (dun-save-val "dun-key-level")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3149 (dun-save-val "dun-floppy")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3150 (dun-save-val "dun-numsaves")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3151 (dun-save-val "dun-numcmds")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3152 (dun-save-val "dun-logged-in")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3153 (dun-save-val "dungeon-mode")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3154 (dun-save-val "dun-jar")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3155 (dun-save-val "dun-lastdir")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3156 (dun-save-val "dun-black")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3157 (dun-save-val "dun-nomail")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3158 (dun-save-val "dun-unix-verbs")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3159 (dun-save-val "dun-hole")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3160 (dun-save-val "dun-uncompressed")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3161 (dun-save-val "dun-ethernet")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3162 (dun-save-val "dun-sauna-level")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3163 (dun-save-val "dun-room-objects")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3164 (dun-save-val "dun-room-silents")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3165 (dun-save-val "dun-inventory")
4697
7e513df4d806 (dun-save-game): Use correct name of endgame question.
Richard M. Stallman <rms@gnu.org>
parents: 4403
diff changeset
3166 (dun-save-val "dun-endgame-questions")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3167 (dun-save-val "dun-endgame")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3168 (dun-save-val "dun-cdroom")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3169 (dun-save-val "dun-cdpath")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3170 (dun-save-val "dun-correct-answer")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3171 (dun-save-val "dun-inbus")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3172 (if (dun-compile-save-out filename)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3173 (dun-mprincl "Error saving to file.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3174 (dun-do-logfile 'save nil)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3175 (switch-to-buffer "*dungeon*")
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3176 (princ "")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3177 (dun-mprincl "Done."))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3178
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3179 (defun dun-make-save-buffer ()
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3180 (switch-to-buffer (get-buffer-create "*save-dungeon*"))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3181 (erase-buffer))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3182
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3183 (defun dun-compile-save-out (filename)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3184 (let (ferror)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3185 (setq ferror nil)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3186 (condition-case nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3187 (dun-rot13)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3188 (error (setq ferror t)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3189 (if (not ferror)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3190 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3191 (goto-char (point-min))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3192 (condition-case nil
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3193 (write-region 1 (point-max) filename nil 1)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3194 (error (setq ferror t)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3195 (kill-buffer (current-buffer))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3196 ferror))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3197
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3198
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3199 (defun dun-save-val (varname)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3200 (let (value)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3201 (setq varname (intern varname))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3202 (setq value (eval varname))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3203 (dun-minsert "(setq ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3204 (dun-minsert varname)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3205 (dun-minsert " ")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3206 (if (or (listp value)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3207 (symbolp value))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3208 (dun-minsert "'"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3209 (if (stringp value)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3210 (dun-minsert "\""))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3211 (dun-minsert value)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3212 (if (stringp value)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3213 (dun-minsert "\""))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3214 (dun-minsertl ")")))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3215
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3216
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3217 (defun dun-restore (args)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3218 (let (file)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3219 (if (not (setq file (car args)))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3220 (dun-mprincl "You must supply a filename.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3221 (if (not (dun-load-d file))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3222 (dun-mprincl "Could not load restore file.")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3223 (dun-mprincl "Done.")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3224 (setq room 0)))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3225
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3226
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3227 (defun dun-do-logfile (type how)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3228 (let (ferror newscore)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3229 (setq ferror nil)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3230 (switch-to-buffer (get-buffer-create "*score*"))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3231 (erase-buffer)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3232 (condition-case nil
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3233 (insert-file-contents dun-log-file)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3234 (error (setq ferror t)))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3235 (unless ferror
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3236 (goto-char (point-max))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3237 (dun-minsert (current-time-string))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3238 (dun-minsert " ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3239 (dun-minsert (user-login-name))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3240 (dun-minsert " ")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3241 (if (eq type 'save)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3242 (dun-minsert "saved ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3243 (if (= (dun-endgame-score) 110)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3244 (dun-minsert "won ")
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3245 (if (not how)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3246 (dun-minsert "quit ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3247 (dun-minsert "killed by ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3248 (dun-minsert how)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3249 (dun-minsert " "))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3250 (dun-minsert "at ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3251 (dun-minsert (cadr (nth (abs room) dun-rooms)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3252 (dun-minsert ". score: ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3253 (if (> (dun-endgame-score) 0)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3254 (dun-minsert (setq newscore (+ 90 (dun-endgame-score))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3255 (dun-minsert (setq newscore (dun-reg-score))))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3256 (dun-minsert " saves: ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3257 (dun-minsert dun-numsaves)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3258 (dun-minsert " commands: ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3259 (dun-minsert dun-numcmds)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3260 (dun-minsert "\n")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3261 (write-region 1 (point-max) dun-log-file nil 1))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3262 (kill-buffer (current-buffer))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3263
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3264
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3265 ;;;;
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3266 ;;;; These are functions, and function re-definitions so that dungeon can
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3267 ;;;; be run in batch mode.
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3268
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3269
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3270 (defun dun-batch-mprinc (arg)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3271 (if (stringp arg)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3272 (send-string-to-terminal arg)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3273 (send-string-to-terminal (prin1-to-string arg))))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3274
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3275
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3276 (defun dun-batch-mprincl (arg)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3277 (if (stringp arg)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3278 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3279 (send-string-to-terminal arg)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3280 (send-string-to-terminal "\n"))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3281 (send-string-to-terminal (prin1-to-string arg))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3282 (send-string-to-terminal "\n")))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3283
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3284 (defun dun-batch-parse (dun-ignore dun-verblist line)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3285 (setq line-list (dun-listify-string (concat line " ")))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3286 (dun-doverb dun-ignore dun-verblist (car line-list) (cdr line-list)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3287
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3288 (defun dun-batch-parse2 (dun-ignore dun-verblist line)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3289 (setq line-list (dun-listify-string2 (concat line " ")))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3290 (dun-doverb dun-ignore dun-verblist (car line-list) (cdr line-list)))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3291
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3292 (defun dun-batch-read-line ()
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3293 (read-from-minibuffer "" nil dungeon-batch-map))
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3294
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3295
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3296 (defun dun-batch-loop ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3297 (setq dun-dead nil)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3298 (setq room 0)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3299 (while (not dun-dead)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3300 (if (eq dungeon-mode 'dungeon)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3301 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3302 (if (not (= room dun-current-room))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3303 (progn
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3304 (dun-describe-room dun-current-room)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3305 (setq room dun-current-room)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3306 (dun-mprinc ">")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3307 (setq line (downcase (dun-read-line)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3308 (if (eq (dun-vparse dun-ignore dun-verblist line) -1)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3309 (dun-mprinc "I don't understand that.\n"))))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3310
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3311 (defun dun-batch-dos-interface ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3312 (dun-dos-boot-msg)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3313 (setq dungeon-mode 'dos)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3314 (while (eq dungeon-mode 'dos)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3315 (dun-dos-prompt)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3316 (setq line (downcase (dun-read-line)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3317 (if (eq (dun-parse2 nil dun-dos-verbs line) -1)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3318 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3319 (sleep-for 1)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3320 (dun-mprincl "Bad command or file name"))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3321 (goto-char (point-max))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3322 (dun-mprinc "\n"))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3323
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3324 (defun dun-batch-unix-interface ()
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3325 (dun-login)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3326 (if dun-logged-in
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3327 (progn
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3328 (setq dungeon-mode 'unix)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3329 (while (eq dungeon-mode 'unix)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3330 (dun-mprinc "$ ")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3331 (setq line (downcase (dun-read-line)))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3332 (if (eq (dun-parse2 nil dun-unix-verbs line) -1)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3333 (let (esign)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3334 (if (setq esign (string-match "=" line))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3335 (dun-doassign line esign)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3336 (dun-mprinc (car line-list))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3337 (dun-mprincl ": not found.")))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3338 (goto-char (point-max))
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3339 (dun-mprinc "\n"))))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3340
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3341 (defun dungeon-nil (arg)
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3342 "noop"
17675
ba2bcca6f8c4 (dungeon-nil): Explicitly return nil.
Richard M. Stallman <rms@gnu.org>
parents: 17577
diff changeset
3343 (interactive "*p")
ba2bcca6f8c4 (dungeon-nil): Explicitly return nil.
Richard M. Stallman <rms@gnu.org>
parents: 17577
diff changeset
3344 nil)
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3345
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3346 (defun dun-batch-dungeon ()
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3347 (load "dun-batch")
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3348 (setq dun-visited '(27))
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3349 (dun-mprinc "\n")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3350 (dun-batch-loop))
4033
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3351
431bc7d22c70 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3352 (unless (not noninteractive)
4075
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3353 (fset 'dun-mprinc 'dun-batch-mprinc)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3354 (fset 'dun-mprincl 'dun-batch-mprincl)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3355 (fset 'dun-vparse 'dun-batch-parse)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3356 (fset 'dun-parse2 'dun-batch-parse2)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3357 (fset 'dun-read-line 'dun-batch-read-line)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3358 (fset 'dun-dos-interface 'dun-batch-dos-interface)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3359 (fset 'dun-unix-interface 'dun-batch-unix-interface)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3360 (dun-mprinc "\n")
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3361 (setq dun-batch-mode t)
3a8e54f78c54 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4033
diff changeset
3362 (dun-batch-loop))
4193
97649642e730 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4075
diff changeset
3363
97649642e730 *** empty log message ***
Richard M. Stallman <rms@gnu.org>
parents: 4075
diff changeset
3364