X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=mudsync%2Froom.scm;h=69385f6e2583b5d2c02f5e9c7038ce2fa63fda36;hb=ef09bc5f6efa5a9883eea63b983052ba1ad20e3c;hp=3d860496e2fc4113e410f9c45483bb06f999057c;hpb=72bb4674c8058ada141da9f62a866e06381a8228;p=mudsync.git diff --git a/mudsync/room.scm b/mudsync/room.scm index 3d86049..69385f6 100644 --- a/mudsync/room.scm +++ b/mudsync/room.scm @@ -67,17 +67,22 @@ #:init-keyword #:exits #:getter room-exits) - (container-commands + (container-dom-commands #:allocation #:each-subclass #:init-thunk (build-commands - ("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)