(contained-commands
#:init-value (wrap thing-contained-commands))
(actions #:allocation #:each-subclass
- #:init-value
+ #:init-thunk
(build-actions
(cmd-take thing-cmd-take)
(cmd-drop thing-cmd-drop))))
(define* (thing-cmd-take thing message #:key direct-obj)
(define player (message-from message))
(define player-name
- (msg-val (<-wait player 'get-name)))
+ (mbody-val (<-wait player 'get-name)))
(define player-loc
- (msg-val (<-wait player 'get-loc)))
+ (mbody-val (<-wait player 'get-loc)))
(define thing-name (slot-ref thing 'name))
(define should-take
(slot-ref-maybe-runcheck thing 'takeable player))
(define* (thing-cmd-drop thing message #:key direct-obj)
(define player (message-from message))
(define player-name
- (msg-val (<-wait player 'get-name)))
+ (mbody-val (<-wait player 'get-name)))
(define player-loc
- (msg-val (<-wait player 'get-loc)))
+ (mbody-val (<-wait player 'get-loc)))
(define thing-name (slot-ref thing 'name))
(define should-drop
(slot-ref-maybe-runcheck thing 'dropable player))