more tweaks
[mudsync.git] / mudsync / gameobj.scm
index 50c82021ba8134ae26daad72880fb9dd48788e37..fa3554865b61eb306a66ceee6f1ce55840b52a6c 100644 (file)
       (<-wait actor old-loc 'remove-occupant! #:who (actor-id actor))))
 
 (define gameobj-get-name (simple-slot-getter 'name))
       (<-wait 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))
+
+(define-mhandler (gameobj-get-desc actor message whos-looking)
+  (define desc-text
+    (match (slot-ref actor 'desc)
+      ((? procedure? desc-proc)
+       (desc-proc actor whos-looking))
+      (desc desc)))
+  (<-reply actor message #:val desc-text))
 
 (define (gameobj-simple-name-f gameobj)
   "Simplest version: return ourselves for our name."
 
 (define (gameobj-simple-name-f gameobj)
   "Simplest version: return ourselves for our name."