Switching from #:generally-visible to #:invisible? as visibility flag
[mudsync.git] / mudsync / gameobj.scm
index c5f1648e12209ecf6340da428fb35b3508bd562a..779c092d0abf4ead2d3eb0341367c3bd8325728c 100644 (file)
                        ("drop" ((direct-command cmd-drop #:obvious? #f)))))
 
   ;; Most objects are generally visible by default
-  (generally-visible #:init-value #t
-                     #:init-keyword #:generally-visible)
-  ;; @@: Would be preferable to be using generic methods for this...
-  ;;   Hopefully we can port this to Guile 2.2 soon...
+  (invisible? #:init-value #f
+              #:init-keyword #:invisible?)
+  ;; TODO: Fold this into a procedure in invisible? similar
+  ;;   to take-me? and etc
   (visible-to-player?
    #:init-value (wrap-apply gameobj-visible-to-player?))
 
@@ -322,7 +322,7 @@ and whos-asking, and see if we should just return it or run it."
 (define (gameobj-visible-to-player? gameobj whos-looking)
   "Check to see whether we're visible to the player or not.
 By default, this is whether or not the generally-visible flag is set."
-  (slot-ref gameobj 'generally-visible))
+  (not (slot-ref gameobj 'invisible?)))
 
 (define* (gameobj-visible-name actor message #:key whos-looking)
   ;; Are we visible?
@@ -533,7 +533,8 @@ By default, this is whether or not the generally-visible flag is set."
                    ,our-name "."))
       (<- player-loc 'tell-room
           #:text `(,player-name " takes " ,thing-to-take-name " from "
-                                ,our-name "."))))))
+                                ,our-name ".")
+          #:exclude player)))))
 
 (define* (cmd-put-in gameobj message
                      #:key direct-obj indir-obj preposition)
@@ -596,4 +597,5 @@ By default, this is whether or not the generally-visible flag is set."
                    ,our-name "."))
       (<- player-loc 'tell-room
           #:text `(,player-name " puts " ,this-thing-name " in "
-                                ,our-name "."))))))
+                                ,our-name ".")
+          #:exclude player)))))