Function: dun-special-object
dun-special-object is a byte-compiled function defined in
dunnet.el.gz.
Signature
(dun-special-object)
Documentation
There is a special object in the room.
This object's description, or lack thereof, depends on certain conditions.
Source Code
;; Defined in /usr/src/emacs/lisp/play/dunnet.el.gz
(defun dun-special-object ()
"There is a special object in the room.
This object's description, or lack thereof, depends on certain
conditions."
(cond
((= dun-current-room computer-room)
(if dun-computer
(dun-mprincl
"The panel lights are flashing in a seemingly organized pattern.")
(dun-mprincl "The panel lights are steady and motionless.")))
((and (= dun-current-room red-room)
(not (member obj-towel (nth red-room dun-room-objects))))
(dun-mprincl "There is a hole in the floor here."))
((and (= dun-current-room marine-life-area) dun-black)
(dun-mprincl
"The room is lit by a black light, causing the fish, and some of
your objects, to give off an eerie glow."))
((and (= dun-current-room fourth-vermont-intersection) dun-hole)
(if (not dun-inbus)
(progn
(dun-mprincl "You fall into a hole in the ground.")
(setq dun-current-room vermont-station)
(dun-describe-room vermont-station))
(dun-mprincl "The bus falls down a hole in the ground and explodes.")
(dun-die "burning")))
((> dun-current-room endgame-computer-room)
(if (not dun-correct-answer)
(dun-endgame-question)
(dun-mprincl "Your question is:")
(dun-mprincl dun-endgame-question)))
((= dun-current-room sauna)
(dun-mprincl (nth dun-sauna-level '(
"It is normal room temperature in here."
"It is luke warm in here."
"It is comfortably hot in here."
"It is refreshingly hot in here."
"You are dead now.")))
(when (= dun-sauna-level 3)
(when (or (member obj-rms dun-inventory)
(member obj-rms (nth dun-current-room dun-room-objects)))
(dun-mprincl
"You notice the wax on your statuette beginning to melt, until it completely
melts off. You are left with a beautiful diamond!")
(if (member obj-rms dun-inventory)
(progn
(dun-remove-obj-from-inven obj-rms)
(setq dun-inventory (append dun-inventory
(list obj-diamond))))
(dun-remove-obj-from-room dun-current-room obj-rms)
(dun-replace dun-room-objects dun-current-room
(append (nth dun-current-room dun-room-objects)
(list obj-diamond)))))
(when (or (member obj-floppy dun-inventory)
(member obj-floppy (nth dun-current-room dun-room-objects)))
(dun-mprincl
"You notice your floppy disk beginning to melt. As you grab for it, the
disk bursts into flames, and disintegrates.")
(dun-remove-obj-from-inven obj-floppy)
(dun-remove-obj-from-room dun-current-room obj-floppy))))))