Function: dun-put

dun-put is a byte-compiled function defined in dunnet.el.gz.

Signature

(dun-put ARGS)

Source Code

;; Defined in /usr/src/emacs/lisp/play/dunnet.el.gz
(defun dun-put (args)
    (let (newargs objnum objnum2 obj)
      (setq newargs (dun-firstwordl args))
      (if (not newargs)
	  (dun-mprincl "You must supply an object")
	(setq obj (intern (car newargs)))
	(setq objnum (cdr (assq obj dun-objnames)))
	(if (not objnum)
	    (dun-mprincl "I don't know what that object is.")
	  (if (not (member objnum dun-inventory))
	      (dun-mprincl "You don't have that.")
	    (setq newargs (dun-firstwordl (cdr newargs)))
	    (setq newargs (dun-firstwordl (cdr newargs)))
	    (if (not newargs)
		(dun-mprincl "You must supply an indirect object.")
	      (setq objnum2 (cdr (assq (intern (car newargs)) dun-objnames)))
	      (if (and (eq objnum2 obj-computer) (= dun-current-room pc-area))
		  (setq objnum2 obj-pc))
	      (if (not objnum2)
		  (dun-mprincl "I don't know what that indirect object is.")
		(if (and (not (member objnum2
				      (nth dun-current-room dun-room-objects)))
			 (not (member objnum2
				      (nth dun-current-room dun-room-silents)))
			 (not (member objnum2 dun-inventory)))
		    (dun-mprincl "That indirect object is not here.")
		  (dun-put-objs objnum objnum2)))))))))