X-Git-Url: https://jxself.org/git/?p=mudsync.git;a=blobdiff_plain;f=mudsync%2Fthing.scm;h=a3ae6b003e3d706407252ca931e9f1fbd4d50a56;hp=341371f7531dbccdd4de448b878524f5224e90da;hb=095dde9158621c8bb3d690feaa0d525a76342eb9;hpb=7e11c67b59dc07a46576b2acaa4657ee533df7d5 diff --git a/mudsync/thing.scm b/mudsync/thing.scm index 341371f..a3ae6b0 100644 --- a/mudsync/thing.scm +++ b/mudsync/thing.scm @@ -28,25 +28,27 @@ #:use-module (ice-9 format) #:export ( thing-commands + thing-commands* thing-contained-commands - thing-actions)) + thing-contained-commands* + thing-actions + thing-actions*)) (define thing-commands (list (direct-command "take" 'cmd-take))) -;;; Are these kinds of things useful? -;; ;; Doesn't inherit anything (gameobj has no commands) -;; ;; so it's an alias. -;; (define thing-commands* thing-commands) +;; Doesn't inherit anything (gameobj has no commands) +;; so it's an alias. +(define thing-commands* thing-commands) (define thing-contained-commands (list - (empty-command "drop" 'cmd-drop))) + (direct-command "drop" 'cmd-drop))) -;; ;; Doesn't inherit anything (gameobj has no contained-commands) -;; ;; so it's an alias. -;; (define thing-contained-commands* thing-contained-commands) +;; Doesn't inherit anything (gameobj has no contained-commands) +;; so it's an alias. +(define thing-contained-commands* thing-contained-commands) (define thing-actions (build-actions @@ -83,6 +85,10 @@ (message-ref (<-wait thing player 'get-name) 'val)) + (define player-loc + (message-ref + (<-wait thing player 'get-loc) + 'val)) (define thing-name (slot-ref thing 'name)) (define should-take (slot-ref-maybe-runcheck thing 'takeable player)) @@ -93,7 +99,7 @@ (<- thing player 'tell #:text (format #f "You pick up ~a.\n" thing-name)) - (<- thing (gameobj-loc thing) 'tell-room + (<- thing player-loc 'tell-room #:text (format #f "~a picks up ~a.\n" player-name thing-name)