2
name
"generic exit"
/
arrive-msg
" has arrived."
/
oleave-msg
" has left."
/
leave-msg
"You leave."
/
destination
#17
/
link
(method (dest)
   (if (dest:accept-exit this)
      (set destination dest)
      (raise E_PERM "cannot change this exit")))
/
tell-leave
(method (obj-to)
	(begin (obj-to:tell (+ leave-msg "\n"))
	       obj-to))
/
tell-oleave
(method (obj-to)
	(begin (location:announce (+ (obj:get-name) oleave-msg "\n"))
	       obj-to))
/
tell-arrive
(method (obj-to)
	(begin
	   (destination:announce-but
	       (+ (obj:get-name) arrive-msg "\n")
               obj-to)
	 obj-to))
/
activate
(method (obj)
	(if (or (= location (obj:get-location))
	        (obj:write-ok? player))
          (if (obj:move-to destination)
              (begin
                 (tell-leave obj)
                 (tell-oleave obj)
                 (destination:look-at)
                 (tell-arrive obj)
                 1)
	      (obj:tell "You can't go that way\n"))))
/
/
/+++++++++ end of object #3 ... no lines after this ++++++++++