(replace-step actor occupants))
replace-steps))))
+(define %nothing (cons '*the* '*nothing*))
(define (gameobj-setup-props gameobj)
(define class (class-of gameobj))
(define props (slot-ref gameobj 'props))
;; and use that to build up the table
(hash-for-each
(lambda (key value)
- (when (not (hashq-ref props key value)) ; don't override init'ed instance values
+ (when (eq? (hashq-ref props key %nothing) ; don't override init'ed instance values
+ %nothing)
(hashq-set! props key value)))
(rmeta-slot-cache (class-slot-ref class 'initial-props))))
(hashq-set! (slot-ref gameobj 'props) key val))
(define* (gameobj-act-get-prop actor message key #:optional dflt)
- (gameobj-get-prop actor key dflt))
+ (<-reply message (gameobj-get-prop actor key dflt)))
(define (gameobj-goes-by gameobj)
"Find the name we go by. Defaults to #:name if nothing else provided."