X-Git-Url: https://jxself.org/git/?p=mudsync.git;a=blobdiff_plain;f=mudsync%2Fplayer.scm;h=78d9a01574efbed2f113f8e9f18fbd1d1e53cf63;hp=bbd14030dc416a90d92478cbf83e9feda6c6fbc1;hb=f22e3b3e60031ebb8ef6260692bf8c03dcce1c60;hpb=4d4af0656b0402e630eea9393420197152945e5b diff --git a/mudsync/player.scm b/mudsync/player.scm index bbd1403..78d9a01 100644 --- a/mudsync/player.scm +++ b/mudsync/player.scm @@ -105,11 +105,10 @@ (define text-to-show (if (eq? inv-names '()) "You aren't carrying anything.\n" - (apply string-append - "You are carrying:\n" - (map (lambda (item-name) - (string-append " * " item-name "\n")) - inv-names)))) + `((p "You are carrying:") + (ul ,(map (lambda (item-name) + `(li ,item-name)) + inv-names))))) (<- (actor-id player) 'tell #:text text-to-show)) (define (player-cmd-help player message) @@ -149,10 +148,17 @@ #:player-id (actor-id player))))) ;; Ask the room for its commands - (define room-commands + (define room-dom-commands ;; TODO: Map room id and sort (mbody-receive (_ #:key commands) - (<-wait player-loc 'get-container-commands + (<-wait player-loc 'get-container-dom-commands + #:verb verb) + commands)) + + (define room-sub-commands + ;; TODO: Map room id and sort + (mbody-receive (_ #:key commands) + (<-wait player-loc 'get-container-sub-commands #:verb verb) commands)) @@ -160,9 +166,7 @@ (define co-occupants (remove (lambda (x) (equal? x (actor-id player))) - (mbody-receive (_ #:key occupants) - (<-wait player-loc 'get-occupants) - occupants))) + (mbody-val (<-wait player-loc 'get-occupants)))) ;; @@: There's a race condition here if someone leaves the room ;; during this, heh... @@ -208,12 +212,14 @@ ;; Now return a big ol sorted list of ((actor-id . command)) (append - (sort-commands-append-actor room-commands + (sort-commands-append-actor room-dom-commands player-loc '()) ; room doesn't go by anything (sort-commands-multi-actors co-occupant-commands) (sort-commands-append-actor our-commands (actor-id player) '()) ; nor does player - (sort-commands-multi-actors inv-item-commands))) + (sort-commands-multi-actors inv-item-commands) + (sort-commands-append-actor room-sub-commands + player-loc '()))) (define (sort-commands-append-actor commands actor-id goes-by) (sort-commands-multi-actors