Function: dun-describe-room
dun-describe-room is a byte-compiled function defined in dunnet.el.gz.
Signature
(dun-describe-room ROOM)
Documentation
Give long description of room if haven't been there yet.
Otherwise short. Also give long if we were called with negative room number.
Source Code
;; Defined in /usr/src/emacs/lisp/play/dunnet.el.gz
;;;;
;;;; This section contains all of the verbs and commands.
;;;;
(defun dun-describe-room (room)
"Give long description of room if haven't been there yet.
Otherwise short. Also give long if we were called with negative room number."
(if (and (not (member (abs room) dun-light-rooms))
(not (member obj-lamp dun-inventory))
(not (member obj-lamp (nth dun-current-room dun-room-objects))))
(dun-mprincl "It is pitch dark. You are likely to be eaten by a grue.")
(dun-mprincl (cadr (nth (abs room) dun-rooms)))
(if (and (and (or (member room dun-visited)
(string= dun-mode "dun-superb"))
(> room 0))
(not (string= dun-mode "long")))
nil
(dun-mprincl (car (nth (abs room) dun-rooms))))
(when (and (not (string= dun-mode "long"))
(not (member (abs room) dun-visited)))
(setq dun-visited (append (list (abs room)) dun-visited)))
(dolist (xobjs (nth dun-current-room dun-room-objects))
(cond
((= xobjs obj-special)
(dun-special-object))
((>= xobjs 0)
(dun-mprincl (car (nth xobjs dun-objects))))
((not (and (= xobjs obj-bus) dun-inbus))
(dun-mprincl (car (nth (abs xobjs) dun-perm-objects)))))
(when (and (= xobjs obj-jar) dun-jar)
(dun-mprincl "The jar contains:")
(dolist (x dun-jar)
(dun-mprincl " " (car (nth x dun-objects))))))
(if (and (member obj-bus (nth dun-current-room dun-room-objects)) dun-inbus)
(dun-mprincl "You are on the bus."))))