+(define (player-cmd-inventory player message)
+ "Display the inventory for the player"
+ (define inv-names
+ (map
+ (lambda (inv-item)
+ (mbody-val (<-wait inv-item 'get-name)))
+ (gameobj-occupants player)))
+ (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))))
+ (<- (actor-id player) 'tell #:text text-to-show))
+
+(define (player-cmd-help player message)
+ (<- (actor-id player) 'tell
+ #:text '((strong "** Mudsync Help **")(br)
+ (p "You're playing Mudsync, a multiplayer text-adventure. "
+ "Type different commands to interact with your surroundings "
+ "and other players.")
+ (p "Some common commands:"
+ (ul (li (strong "say <message>") " -- "
+ "Chat with other players in the same room. "
+ "(Also aliased to the " (b "\"") " character.)")
+ (li (strong "look") " -- "
+ "Look around the room you're in.")
+ (li (strong "look [at] <object>") " -- "
+ "Examine a particular object.")
+ (li (strong "go <exit>") " -- "
+ "Move to another room in <exit> direction.")))
+ (p "Different objects can be interacted with in different ways. "
+ "For example, if there's a bell in the same room as you, "
+ "you might try typing " (em "ring bell")
+ " and see what happens."))))
+