Fix code for going someplace that doesn't exist
[mudsync.git] / mudsync / gameobj.scm
index 91701ac4ccd28e34edc63028e6ce6db8151cec4b..c34e89bb5540a90308686c64ec7e3fc6caf58b98 100644 (file)
   #:use-module (ice-9 match)
   #:use-module (oop goops)
   #:export (<gameobj>
-            gameobj-simple-name-f
 
             gameobj-loc
             gameobj-gm
-            gameobj-name
 
             gameobj-occupants
             gameobj-actions
@@ -52,6 +50,7 @@
    (remove-occupant! (wrap-apply gameobj-remove-occupant!))
    (set-loc! (wrap-apply gameobj-act-set-loc!))
    (get-name (wrap-apply gameobj-get-name))
+   (set-name! (wrap-apply gameobj-act-set-name!))
    (get-desc (wrap-apply gameobj-get-desc))
    (goes-by (wrap-apply gameobj-act-goes-by))
    (visible-name (wrap-apply gameobj-visible-name))
 
 (define gameobj-get-name (simple-slot-getter 'name))
 
+(define-mhandler (gameobj-act-set-name! actor message val)
+  (slot-set! actor 'name val))
+
 (define-mhandler (gameobj-get-desc actor message whos-looking)
   (define desc-text
     (match (slot-ref actor 'desc)
       (desc desc)))
   (<-reply actor message #:val desc-text))
 
-(define (gameobj-simple-name-f gameobj)
-  "Simplest version: return ourselves for our name."
-  (gameobj-name gameobj))
-
 (define (gameobj-visible-to-player? gameobj whos-looking)
   "Check to see whether we're visible to the player or not.
 By default, this is whether or not the generally-visible flag is set."