X-Git-Url: https://jxself.org/git/?p=mudsync.git;a=blobdiff_plain;f=mudsync%2Froom.scm;fp=mudsync%2Froom.scm;h=69385f6e2583b5d2c02f5e9c7038ce2fa63fda36;hp=0379d3da71d268586f42c0d22c594b99e7ef04c2;hb=0817a105f789bd12bd0ced0b80df8b671391f338;hpb=f38a8862032f5db1e0a648e855d5cae29f71fe4a diff --git a/mudsync/room.scm b/mudsync/room.scm index 0379d3d..69385f6 100644 --- a/mudsync/room.scm +++ b/mudsync/room.scm @@ -71,13 +71,18 @@ #:allocation #:each-subclass #:init-thunk (build-commands - (("l" "look") ((loose-direct-command cmd-look-at) - (empty-command cmd-look-room))) + (("l" "look") ((empty-command cmd-look-room))) ("go" ((empty-command cmd-go-where) (loose-direct-command cmd-go))) (("say" "\"" "'") ((greedy-command cmd-say))) (("emote" "/me") ((greedy-command cmd-emote))))) + (container-sub-commands + #:allocation #:each-subclass + #:init-thunk + (build-commands + (("l" "look") ((loose-direct-command cmd-look-at-from-room))))) + (actions #:allocation #:each-subclass #:init-thunk (build-actions @@ -89,7 +94,7 @@ ;; in this case the command is the same version as the normal ;; look-room version (cmd-look-room room-look-room) - (cmd-look-at room-look-at) + (cmd-look-at-from-room room-look-dont-see-it) (cmd-say room-cmd-say) (cmd-emote room-cmd-emote)))) @@ -193,25 +198,10 @@ (slot-ref room 'occupants))) #f))) -(define %formless-desc - "You don't see anything special.") - -(define* (room-look-at room message #:key direct-obj) - "Look at a specific object in the room." - (define matching-object - (room-find-thing-called room direct-obj)) - - (cond - (matching-object - (let ((obj-desc - (mbody-val (<-wait matching-object 'get-desc - #:whos-looking (message-from message))))) - (if obj-desc - (<- (message-from message) 'tell #:text obj-desc) - (<- (message-from message) 'tell #:text %formless-desc)))) - (else - (<- (message-from message) 'tell - #:text "You don't see that here, so you can't look at it.\n")))) +(define* (room-look-dont-see-it room message #:key direct-obj) + "In general, if we get to this point, we didn't find something to look at." + (<- (message-from message) 'tell + #:text "You don't see that here, so you can't look at it.\n")) (define* (room-tell-room room text #:key exclude wait)