(n-to object) (ne-to object) (e-to object) (se-to object)\r
(s-to object) (sw-to object) (w-to object) (nw-to object)\r
(u-to object) (d-to object) (in-to object) (out-to object)\r
- (cant-go string)\r
+ ;(cant-go string) <- doesn't provide by default\r
(has :light :enterable))\r
\r
(ifclass item () (description string) (article string)\r
(look (look self)))\r
(has :~light))\r
\r
-(ifclass door (predoor scenery) (destination object) (has :door :closed))\r
+(ifclass door (predoor scenery) (destination object) \r
+ (has :door :closed :openable))\r
\r
\r
\r
\r
(defun transparent (obj)\r
"Whether the object is transparent"\r
- (or (has obj :container :open) \r
+ (or (and (has obj :container) (hasnt obj :closed)) \r
(has obj :supporter)\r
(has obj :transparent)\r
(eql obj *player*)))\r
(seep1 actor obj)))\r
\r
(defun passable (obj)\r
- (or (has obj :container :open)\r
+ (or (and (has obj :container) (hasnt obj :closed))\r
(has obj :supporter)\r
(eql obj *player*)))\r
\r
(defun print-inside (obj stream)\r
"Return the string containing the status of contents of the object"\r
(when (has obj :container)\r
- (if (or (has obj :open) (has obj :transparent))\r
+ (if (or (hasnt obj :closed) (has obj :transparent))\r
(if (children obj)\r
(progn (princ " (containing " stream) \r
(princ (list-contents obj) stream) \r
\r
(defun default-glance (obj)\r
"Default initial description of object"\r
- (format t "[Default glance for ~a]~%" obj)\r
+ ;;(format t "[Default glance for ~a]~%" obj)\r
(sprint "~a~%" \r
(with-output-to-string (out)\r
(princ "There is " out) (princ (print-name obj) out) \r