+ (<-reply actor message
+ #:occupants occupants))
+
+;; @@: Should it really be #:id ? Maybe #:loc-id or #:loc?
+(define-mhandler (gameobj-set-loc! actor message loc)
+ (define old-loc (gameobj-loc actor))
+ (format #t "DEBUG: Location set to ~s for ~s\n"
+ loc (actor-id-actor actor))
+
+ (set! (gameobj-loc actor) loc)
+ ;; Change registation of where we currently are
+ (if loc
+ (<- actor loc 'add-occupant! #:who (actor-id actor)))
+ (if old-loc
+ (<- actor old-loc 'remove-occupant! #:who (actor-id actor))))
+
+(define gameobj-get-name (simple-slot-getter 'name))
+(define gameobj-get-desc (simple-slot-getter 'desc))