("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?))
(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?
,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)
,our-name "."))
(<- player-loc 'tell-room
#:text `(,player-name " puts " ,this-thing-name " in "
- ,our-name "."))))))
+ ,our-name ".")
+ #:exclude player)))))