Use msg-val everywhere and fix some definitions' argument lists.
[mudsync.git] / mudsync / thing.scm
index a3ae6b003e3d706407252ca931e9f1fbd4d50a56..762775d318a6a16a1ab85a2d65ab49c4c4e63654 100644 (file)
    #:init-value
    (wrap-apply thing-dispatcher)))
 
-(define-mhandler (thing-cmd-take thing message direct-obj)
+(define* (thing-cmd-take thing message #:key direct-obj)
   (define player (message-from message))
   (define player-name
-    (message-ref
-     (<-wait thing player 'get-name)
-     'val))
+    (msg-val (<-wait thing player 'get-name)))
   (define player-loc
-    (message-ref
-     (<-wait thing player 'get-loc)
-     'val))
+    (msg-val (<-wait thing player 'get-loc)))
   (define thing-name (slot-ref thing 'name))
   (define should-take
     (slot-ref-maybe-runcheck thing 'takeable player))
           #:text (format #f "It doesn't seem like you can pick up ~a.\n"
                          thing-name))))
 
-(define-mhandler (thing-cmd-drop thing message direct-obj)
+(define* (thing-cmd-drop thing message #:key direct-obj)
   (define player (message-from message))
   (define player-name
-    (message-ref
-     (<-wait thing player 'get-name)
-     'val))
+    (msg-val (<-wait thing player 'get-name)))
   (define player-loc
-    (message-ref
-     (<-wait thing player 'get-loc)
-     'val))
+    (msg-val (<-wait thing player 'get-loc)))
   (define thing-name (slot-ref thing 'name))
   (define should-drop
     (slot-ref-maybe-runcheck thing 'dropable player))